zabbix 一款非常強大的監控軟件,不僅可以基於SNMP監控各種網絡設備,而且還可以監控linux win等各版本操作系統的狀態
百度經驗:jingyan.baidu.com
工具/原料
1
關閉selinux :
vi /etc/selinux/config
SELINUX=disabled
先添加一個zabbix的官方yum源
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
2
安裝依賴組件包
yum -y install iksemel libssh2 zabbix-server-mysql zabbix-web-mysql mysql-server zabbix-agent install net-snmp-devel net-snmp-libs net-snmp-perl net-snmp-utils net-snmp
每個組件包具體作用,請直接百度軟件包名稱即可,這裏不再詳加說明
3
這裏使用yum源安裝的數據庫版本應該是Mysql 5.1.73,初始密碼爲空,一定要記得設置root用戶密碼!
3-1.
登陸數據庫:
mysql -u root
3-2.
修改數據庫密碼:
set password for root@localhost=password('suiyi');
這裏我設置的密碼是"suiyi",你修改成你自己想要設置的密碼就行
3-3.
創建zabbix的數據庫:
create database zabbixdb character set utf8 collate utf8_bin;
我這裏創建的數據庫名字爲zabbixdb,你可以自己定義,但是注意後續的操作也要試用你自己的數據庫名稱
爲了支持中文,數據庫字符集採用utf8
這裏說的支持中文不是指的中文web管理界面的,而是你在定義添加設備的時候可以使用中文名稱
3-4.
授權zabbix系統訪問Mysql數據庫的用戶和密碼:
grant all privileges on zabbixdb.* to zabbixuser@localhost identified by 'zabbixpass';
zabbixdb.*指的是訪問zabbixdb庫內的所有表,這裏我定義的用戶爲zabbixuser 密碼爲 zabbixpass,同樣這裏也要修改成你自己的
3-5.
導入zabbix數據庫表結構
mysql -uroot -psuiyi zabbixdb < /usr/share/doc/zabbix-server-mysql-2.4.1/create/schema.sql
mysql -uroot -psuiyi zabbixdb < /usr/share/doc/zabbix-server-mysql-2.4.1/create/images.sql
mysql -uroot -psuiyi zabbixdb < /usr/share/doc/zabbix-server-mysql-2.4.1/create/data.sql
這三個表,都要導入
記得每條指令的前面部分
mysql -uroot -psuiyi zabbixdb
mysql 數據庫操作主指令
-uroot 以root用戶登錄
-psuiyi 這裏的suiyi爲你3-2步驟設置的root密碼(這裏注意,-p和密碼之間不要有空格,直接輸入密碼就行 否則會報錯)
zabbixdb 爲3-3步驟創建的數據庫名稱
/usr/share/doc/zabbix-server-mysql-2.4.1/create/目錄內的三個sql文件爲安裝zabbix軟件時自動創建
4
編輯zabbix的配置文件
vi /etc/zabbix/zabbix_server.conf
依次找到DBHost DBName DBUser DBPassword 四個關鍵字,
修改成你自己上面定義的內容:
DBHost=localhost 指的是訪問本機數據庫 DBName=zabbixdb 3-3 創建的zabbix的數據庫名字 DBUser=zabbixuser 3-4授權訪問數據庫的用戶名 DBPassword=zabbixpass 3-4授權訪問數據庫的密碼
5
編輯PHP環境配置文件:
vi /etc/httpd/conf.d/zabbix.conf
對應修改內容如下
php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value date.timezone Asia/Shanghai
其實zabbix都給你設置好了,只有最後一項需要你改動下,去掉前面的#號
時區設置成Asia/Shanghai
6
添加固定服務端口,以便於後期監測和防火牆監控端口
編輯/etc/services文件
vi /etc/services
跳到文件末尾(大寫G直接跳)追加以下內容:
zabbix-agent 10050/tcp # zabbix-agent-tcpzabbix-agent 10050/udp # zabbix-agent-udpzabbix-trapper 10051/tcp # zabbix-trapper-tcpzabbix-trapper 10051/udp # zabbix-trapper-udp
7
開啓防火牆端口(tcp\\\\80,10050,10051 udp\\\\10050,10051)
當然你可以直接關閉防火牆,但是強烈建議生產環境一定不要這麼做!
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
iptables -A INPUT -m state --state NEW -m udp -p udp --dport 10050 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
iptables -A INPUT -m state --state NEW -m udp -p udp --dport 10051 -j ACCEPT
service iptables save
8
設置所需服務自動啓動:(httpd,mysqld,snmpd,snmptrapd,zabbix-agent,zabbix-server)
chkconfig httpd on ; service httpd start
chkconfig mysqld on ; service mysqld start
chkconfig snmpd on ; service snmpd start
chkconfig snmptrapd on ; service snmptrapd start
chkconfig zabbix-agent on ; service zabbix-agent start
chkconfig zabbix-server on ; service zabbix-server start