為了友善把安裝Zabbix的過程整理成自動化一鍵部署腳本,有興趣可以參考,都是些基本的指令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<code>#!/bin/bash</code>
<code>#Zabbix 一鍵部署腳本</code>
<code>#安裝zabbix3.0.4,依賴php-5.6.25</code>
<code>src_home=`</code><code>pwd</code><code>`</code>
<code>echo</code> <code>-n </code><code>"正在配置iptables防火牆……"</code>
<code>/etc/init</code><code>.d</code><code>/iptables</code> <code>save >> </code><code>/dev/null</code>
<code>chkconfig iptables off</code>
<code>if</code> <code>[ $? -</code><code>eq</code> <code>0 ];</code><code>then</code>
<code>echo</code> <code>-n </code><code>"Iptables防火牆初始化完畢!"</code>
<code>fi</code>
<code>echo</code> <code>-n </code><code>"正在關閉SELinux……"</code>
<code>setenforce 0 > </code><code>/dev/null</code> <code>2>&1</code>
<code>sed</code> <code>-i </code><code>'/^SELINUX=/s/=.*/=disabled/'</code> <code>/etc/selinux/config</code>
<code> </code><code>echo</code> <code>-n </code><code>"SELinux初始化完畢!"</code>
<code>echo</code> <code>-n </code><code>"正在安裝nginx yum 源……"</code>
<code>yum -y </code><code>install</code> <code>wget</code>
<code>wget http:</code><code>//nginx</code><code>.org</code><code>/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0</code><code>.el6.ngx.noarch.rpm</code>
<code>rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm</code>
<code> </code><code>echo</code> <code>-n </code><code>"Nginx yum 源 初始化完畢!"</code>
<code>echo</code> <code>-n </code><code>"正在安裝epel-release yum 源……"</code>
<code>rpm -Uvh http:</code><code>//mirrors</code><code>.ustc.edu.cn</code><code>/fedora/epel/6/x86_64/epel-release-6-8</code><code>.noarch.rpm</code>
<code>rpm -Uvh http:</code><code>//rpms</code><code>.famillecollet.com</code><code>/enterprise/remi-release-6</code><code>.rpm</code>
<code> </code><code>echo</code> <code>-n </code><code>"epel-release yum 源 初始化完畢!"</code>
<code>echo</code> <code>-n </code><code>"正在安裝php-5.6.25的編譯所需相關軟體……"</code>
<code>yum -y </code><code>install</code> <code>make</code> <code>gcc nginx libmcrypt php-mcrypt mysql-server mysql-devel net-snmp-devel libcurl-devel php php-mysql php-bcmath php-mbstring php-gd php-xml </code><code>bzip2</code><code>-devel libmcrypt-devel libxml2-devel gd gd-devel libcurl*</code>
<code> </code><code>echo</code> <code>-n </code><code>"php-5.6.25依賴初始化完畢!"</code>
<code>echo</code> <code>-n </code><code>"正在添加zabbix使用者……"</code>
<code>useradd</code> <code>-M -s </code><code>/sbin/nologin</code> <code>zabbix && </code><code>echo</code> <code>"OK"</code>
<code>echo</code> <code>-n </code><code>"正在啟動mysqld服務……"</code>
<code>service mysqld start</code>
<code> </code><code>echo</code> <code>-n </code><code>"Mysql啟動完畢!"</code>
<code>#echo -n "正在為mysql的root使用者設定密碼……"</code>
<code>#mysql_user_root_password="password"</code>
<code>#mysql_user_zabbix_password="zabbix"</code>
<code>#mysqladmin -uroot -p password $mysql_user_root_password</code>
<code>echo</code> <code>"正在執行mysql語句,建立zabbix資料庫,授權zabbix通路資料庫"</code>
<code>mysql -e </code><code>"create database zabbix character set utf8;grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix';grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';flush privileges;"</code>
<code>#echo "正在執行mysql語句,建立zabbix資料庫,授權zabbix通路資料庫"</code>
<code>#mysql -uroot -p"$mysql_user_root_password" -e "create database zabbix character set utf8" && echo "建立zabbix資料庫完成"</code>
<code>#mysql -uroot -p"$mysql_user_root_password" -e "grant all privileges on zabbix.* to zabbix@localhost identified by '$mysql_user_zabbix_password'" && echo "授權zabbix本地登入資料庫"</code>
<code>#mysql -uroot -p"$mysql_user_root_password" -e "grant all privileges on zabbix.* to zabbix@'%' identified by '$mysql_user_zabbix_password'" && echo "授權任何主機本地登入資料庫"</code>
<code>#zabbix一鍵部署第三方軟體包的解壓目錄</code>
<code>echo</code> <code>-n </code><code>"編譯安裝php-5.6.25....可能需要幾分鐘"</code>
<code>tar</code> <code>zxf ${src_home}</code><code>/php-5</code><code>.6.25.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>${src_home}</code><code>/php-5</code><code>.6.25 && .</code><code>/configure</code> <code>--prefix=</code><code>/usr/local/php</code> <code>--with-config-</code><code>file</code><code>-path=</code><code>/etc</code> <code>--</code><code>enable</code><code>-fpm --with-libxml-</code><code>dir</code> <code>--with-gd --with-jpeg-</code><code>dir</code> <code>--with-png-</code><code>dir</code> <code>--with-freetype-</code><code>dir</code> <code>--with-iconv-</code><code>dir</code> <code>--with-zlib-</code><code>dir</code> <code>--with-mcrypt --</code><code>enable</code><code>-soap --</code><code>enable</code><code>-gd-native-ttf --</code><code>enable</code><code>-mbstring --</code><code>enable</code><code>-exif --with-pear --with-curl --</code><code>enable</code><code>-bcmath --with-gettext --with-mysqli --</code><code>enable</code><code>-sockets</code>
<code>cd</code> <code>${src_home}</code><code>/php-5</code><code>.6.25 && </code><code>make</code> <code>-j 4 && </code><code>make</code> <code>install</code>
<code>cd</code>
<code>echo</code> <code>-n </code><code>"正在配置啟動php-fpm....請稍等"</code>
<code>/bin/cp</code> <code>${src_home}</code><code>/php-5</code><code>.6.25</code><code>/php</code><code>.ini-production </code><code>/etc/php</code><code>.ini</code>
<code>cp</code> <code>${src_home}</code><code>/php-5</code><code>.6.25</code><code>/sapi/fpm/init</code><code>.d.php-fpm </code><code>/etc/init</code><code>.d</code><code>/php-fpm</code>
<code>chmod</code> <code>777 </code><code>/etc/init</code><code>.d</code><code>/php-fpm</code>
<code>cd</code> <code>/usr/local/php/etc/</code> <code>&& </code><code>cp</code> <code>php-fpm.conf.default php-fpm.conf</code>
<code>service php-fpm start</code>
<code> </code><code>echo</code> <code>-n </code><code>"php-fpm啟動完畢!"</code>
<code>#zabbix編譯安裝</code>
<code>echo</code> <code>-n </code><code>"正在導入zabbix資料到mysql資料庫中...."</code>
<code>tar</code> <code>zxf ${src_home}</code><code>/zabbix-3</code><code>.0.4.</code><code>tar</code><code>.gz</code>
<code>mysql -uzabbix -pzabbix zabbix < ${src_homie}</code><code>/zabbix-3</code><code>.0.4</code><code>/database/mysql/schema</code><code>.sql</code>
<code>mysql -uzabbix -pzabbix zabbix < ${src_homie}</code><code>/zabbix-3</code><code>.0.4</code><code>/database/mysql/images</code><code>.sql</code>
<code>mysql -uzabbix -pzabbix zabbix < ${src_homie}</code><code>/zabbix-3</code><code>.0.4</code><code>/database/mysql/data</code><code>.sql</code>
<code> </code><code>echo</code> <code>-n </code><code>"zabbix資料導入啟動完畢!"</code>
<code>echo</code> <code>-n </code><code>"正在安裝zabbix編譯依賴軟體包....可能需要幾分鐘"</code>
<code>yum -y </code><code>install</code> <code>net-snmp-devel curl-devel javacc java-1.8*</code>
<code>echo</code> <code>-n </code><code>"編譯安裝Zabbix-server....可能需要幾分鐘"</code>
<code>cd</code> <code>${src_home}</code><code>/zabbix-3</code><code>.0.4 && .</code><code>/configure</code> <code>--prefix=</code><code>/usr/local/zabbix</code> <code>--</code><code>enable</code><code>-server --</code><code>enable</code><code>-proxy --</code><code>enable</code><code>-agent --with-net-snmp --with-libcurl --</code><code>enable</code><code>-java --with-mysql</code>
<code>make</code> <code>-j 4 && </code><code>make</code> <code>install</code>
<code>echo</code> <code>-n </code><code>"正在制作Zabbix-server啟動腳本...."</code>
<code>echo</code> <code>-e </code><code>"zabbix-agent 10050/tcp #ZabbixAgent\nzabbix-agent 10050/udp #Zabbix Agent\nzabbix-trapper 10051/tcp #ZabbixTrapper\nzabbix-trapper 10051/udp #Zabbix Trapper"</code> <code>>> </code><code>/etc/services</code>
<code>cp</code> <code>${src_home}</code><code>/zabbix-3</code><code>.0.4</code><code>/misc/init</code><code>.d</code><code>/fedora/core/zabbix_server</code> <code>/etc/init</code><code>.d/</code>
<code>cp</code> <code>${src_home}</code><code>/zabbix-3</code><code>.0.4</code><code>/misc/init</code><code>.d</code><code>/fedora/core/zabbix_agentd</code> <code>/etc/init</code><code>.d/</code>
<code>chmod</code> <code>777 </code><code>/etc/init</code><code>.d</code><code>/zabbix_</code><code>*</code>
<code>sed</code> <code>-i </code><code>'/BASEDIR=/s/$/\/zabbix/'</code> <code>/etc/init</code><code>.d</code><code>/zabbix_server</code>
<code>sed</code> <code>-i </code><code>'/BASEDIR=/s/$/\/zabbix/'</code> <code>/etc/init</code><code>.d</code><code>/zabbix_agentd</code>
<code>echo</code> <code>-n </code><code>"正在配置zabbix配置檔案...."</code>
<code>cd</code> <code>/usr/local/zabbix/etc</code>
<code>sed</code> <code>'/# DBHost=localhost/a\DBHost=localhost'</code> <code>zabbix_server.conf -i</code>
<code>sed</code> <code>'/# DBPassword=/a\DBPassword=zabbix'</code> <code>zabbix_server.conf -i</code>
<code>sed</code> <code>'/# EnableRemoteCommands=0/a\EnableRemoteCommands=1'</code> <code>zabbix_agentd.conf -i</code>
<code>sed</code> <code>'/# ListenPort=10050/a\ListenPort=10050'</code> <code>zabbix_agentd.conf -i</code>
<code>sed</code> <code>'/# User=zabbix/a\User=zabbix'</code> <code>zabbix_agentd.conf -i</code>
<code>sed</code> <code>'/# AllowRoot=0/a\AllowRoot=1'</code> <code>zabbix_agentd.conf -i</code>
<code>sed</code> <code>'/# UnsafeUserParameters=0/a\UnsafeUserParameters=1'</code> <code>zabbix_agentd.conf -i</code>
<code> </code><code>echo</code> <code>-n </code><code>"zabbix配置完畢!"</code>
<code>echo</code> <code>-n </code><code>"正在啟動zabbix_server and zabbix_agent...."</code>
<code>service zabbix_server start</code>
<code>service zabbix_agentd start</code>
<code>chkconfig zabbix_server on</code>
<code>chkconfig zabbix_agentd on</code>
<code>echo</code> <code>-n </code><code>"正在配置nginx反代zabbix...."</code>
<code>cp</code> <code>-r ${src_home}</code><code>/zabbix-3</code><code>.0.4</code><code>/frontends/php</code> <code>/usr/share/nginx/html/zabbix</code>
<code>cd</code> <code>/etc/nginx/conf</code><code>.d/ && </code><code>mv</code> <code>default.conf default.conf.bak</code>
<code>cp</code> <code>${src_home}</code><code>/zabbix</code><code>.conf </code><code>/etc/nginx/conf</code><code>.d/</code>
<code>echo</code> <code>-n </code><code>"配置完成,正在啟動nginx web server...."</code>
<code>service nginx start</code>
<code> </code><code>echo</code> <code>-n </code><code>"Nginx啟動完畢!"</code>
<code>echo</code> <code>-n </code><code>"正在進行最後的zabbix Install ,php參數修改....."</code>
<code>sed</code> <code>'/^post_max_size =/s/=.*/= 16M/'</code> <code>/etc/php</code><code>.ini -i</code>
<code>sed</code> <code>'/^max_execution_time =/s/=.*/= 300/'</code> <code>/etc/php</code><code>.ini -i</code>
<code>sed</code> <code>'/^max_input_time =/s/=.*/= 300/'</code> <code>/etc/php</code><code>.ini -i</code>
<code>sed</code> <code>-i </code><code>'/^;date.timezone/a\date.timezone = Asia/Shanghai'</code> <code>/etc/php</code><code>.ini</code>
<code>sed</code> <code>-i </code><code>'/^;always_populate_raw_post_data.*/a\always_populate_raw_post_data = -1'</code> <code>/etc/php</code><code>.ini</code>
<code>sed</code> <code>-i </code><code>'/^mysqli.default_socket =/s/=.*/= \/var\/lib\/mysql\/mysql.sock/'</code> <code>/etc/php</code><code>.ini</code>
<code>echo</code> <code>-n </code><code>"正在重新啟動php服務....."</code>
<code>/etc/init</code><code>.d</code><code>/php-fpm</code> <code>restart</code>
<code>echo</code> <code>-n </code><code>"正在初始化zabbix Server...."</code>
<code>cp</code> <code>${src_home}</code><code>/zabbix</code><code>.conf.php </code><code>/usr/share/nginx/html/zabbix/conf/</code>
<code>echo</code> <code>-n </code><code>"正在做最後的Zabbix Server重新開機....."</code>
<code>/etc/init</code><code>.d</code><code>/zabbix_server</code> <code>restart</code>
<code> </code><code>echo</code> <code>-n </code><code>"Zabbix Server 啟動完畢!"</code>
<code>echo</code> <code>-n </code><code>"正在解決zabbix server 亂碼問題,請你耐心等待....."</code>
<code>cd</code> <code>/usr/share/nginx/html/zabbix/fonts</code> <code>&& </code><code>mv</code> <code>DejaVuSans.ttf DejaVuSans.ttf.bak</code>
<code>cp</code> <code>${src_home}</code><code>/msyh</code><code>.ttf .</code>
<code>cd</code> <code>..</code><code>/include/</code> <code>&& </code><code>sed</code> <code>-i </code><code>'s/DejaVuSans/msyh/g'</code> <code>defines.inc.php</code>
<code>echo</code> <code>-n </code><code>"恭喜你,Zabbix 部署到此完成,如有問題,請參照腳本單獨解決!!!"</code>
<code>echo</code> <code>-e -n </code><code>"後續的操作:1、通過http://ip/zabbix 通路你的zabbix Web頁面,下一步....一直到底。2、你可能需要配置Nginx域名,通過域名通路Zabbix Server.... 3、你需要自己自定義或者使用系統自帶模闆,添加主機等等...."</code>
<a href="https://s3.51cto.com/wyfs02/M00/8E/04/wKiom1izls_xNB1cAAE6TTIPtFs128.png-wh_500x0-wm_3-wmp_4-s_1656235533.png" target="_blank"></a>
一鍵部署tar包我已經打包好了,請到附件下載下傳:
本文轉自青衫解衣 51CTO部落格,原文連結:http://blog.51cto.com/215687833/1901575