zabbix是一個(gè)基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級(jí)的開源解決方案。
zabbix能監(jiān)視各種網(wǎng)絡(luò)參數(shù),保證服務(wù)器系統(tǒng)的安全運(yùn)營;并提供靈活的通知機(jī)制以讓系統(tǒng)管理員快速定位/解決存在的各種問題。
zabbix由2部分構(gòu)成,zabbix server與可選組件zabbix agent。
zabbix server可以通過SNMP,zabbix agent,ping,端口監(jiān)視等方法提供對(duì)遠(yuǎn)程服務(wù)器/網(wǎng)絡(luò)狀態(tài)的監(jiān)視,數(shù)據(jù)收集等功能,它可以運(yùn)行在Linux,Solaris,HP-UX,AIX,F(xiàn)ree BSD,Open BSD,OS X等平臺(tái)上。創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的曲靖網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
Zabbix agent:負(fù)責(zé)部署在被監(jiān)控主機(jī)上,把被監(jiān)控主機(jī)的數(shù)據(jù)傳送給zabbix server
Zabbix server:負(fù)責(zé)接收agent發(fā)送的信息,組織配置信息,統(tǒng)計(jì)配置信息和操作數(shù)據(jù)等
Zabbix database: 用于存儲(chǔ)zabbix的所有配置信息,監(jiān)控?cái)?shù)據(jù)的數(shù)據(jù)庫
Zabbix web: zabbix的web界面,管理可以通過zabbix的web界面管理zabbix配置以及查看zabbix的監(jiān)控信息,可以獨(dú)一部署在一臺(tái)服務(wù)器上
Zabbix proxy:分布式環(huán)境中使用,zabbix proxy代表server端管理該區(qū)域中的信息收集,最終統(tǒng)一發(fā)往zabbix server
agent:通過專用的代理程序進(jìn)行監(jiān)控
ssh/Telnet:通過遠(yuǎn)程控制協(xié)議進(jìn)行通訊
SNMP:通過SNMP協(xié)議與被監(jiān)控對(duì)象進(jìn)行通訊,路由器和交換機(jī)支持SNMP,其實(shí)也是一種agent
IPMI:通過IPMI接口進(jìn)行監(jiān)控,通過IPMI硬件接口監(jiān)控,電壓,溫度,風(fēng)扇,和電源狀態(tài)
JMX:通過(java management extensions Java管理擴(kuò)展)監(jiān)控JVM虛擬機(jī)~~
分布式的監(jiān)控體系:監(jiān)控?cái)?shù)據(jù)被提交給zabbix proxy 再 提交給zabbix server
主動(dòng)模式:由agent端主動(dòng)收集信息發(fā)送給server端 工具是zabbix_sender
被動(dòng)模式:由server端主動(dòng)拉取信息 工具是zabbix_get
檢測(cè)端server 192.168.13.128
被檢測(cè)端agent 192.168.13.130
[root@server ~]# systemctl stop firewalld.service ##關(guān)閉防火墻
[root@server ~]# systemctl disable firewalld.service
[root@server ~]# setenforce 0
##安裝lamp架構(gòu)##
[root@server ~]# yum install -y \
httpd \
mariadb-server mariadb \
php \
php-MySQL \ ##關(guān)聯(lián)數(shù)據(jù)庫
php-gd \
libjpeg* \
php-ldap \
php-odbc \
php-pear \
php-xml \
php-xmlrpc \
php-mhash
[root@server ~]# vim /etc/httpd/conf/httpd.conf
95 ServerName www.yun.com:80 #第95行,刪除注釋,域名自定義
164 DirectoryIndex index.html index.php #164行,添加首頁支持類類型index.php
[root@server ~]# vim /etc/php.ini
878 date.timezone = PRC #878行,把前面模板的;號(hào)刪除,后面添加中國時(shí)區(qū)PRC
[root@server ~]# systemctl start httpd.service ##開啟服務(wù)
[root@server ~]# systemctl start mariadb.service
[root@server ~]# netstat -natp | egrep '(3306|80)' ##查看端口號(hào)
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 5087/mysqld
tcp6 0 0 :::80 :::* LISTEN 4807/httpd
[root@server ~]# mysql_secure_installation ##初始化數(shù)據(jù)庫
Enter current password for root (enter for none): #此處直接回車
Set root password? [Y/n] y #設(shè)置密碼
New password: #abc123
Re-enter new password: #確認(rèn)輸入:abc123
Password updated successfully!
Remove anonymous users? [Y/n] n #是否刪除匿名用戶,選擇不刪除
Disallow root login remotely? [Y/n] y #是否遠(yuǎn)程連接
Remove test database and access to it? [Y/n] n #是否刪除測(cè)試數(shù)據(jù)庫
Reload privilege tables now? [Y/n] y #是否重新加載
... Success!
[root@server ~]# mysql -u root -p ##登錄數(shù)據(jù)庫
MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
##創(chuàng)建zabbix數(shù)據(jù)庫,并且設(shè)置為utf8形式,把里面的字符串轉(zhuǎn)換為二進(jìn)制
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| zabbix |
+--------------------+
5 rows in set (0.00 sec)
MariaDB [(none)]> GRANT all privileges ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123';
Query OK, 0 rows affected (0.01 sec)
#把所有數(shù)據(jù)庫和所有表都交給zabbix用戶進(jìn)行管理,并且設(shè)置密碼為admin123
MariaDB [(none)]> flush privileges; #刷新
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit #退出數(shù)據(jù)庫
Bye
//測(cè)試php基本信息//
[root@server ~]# cd /var/www/html/
[root@server html]# ls
[root@server html]# vim index.php
//用瀏覽器訪問網(wǎng)頁//
//測(cè)試數(shù)據(jù)庫連接情況//
[root@localhost html]# vim index.php
Success!!";
else echo "Fail!!";
mysql_close();
?>
[root@server html]# mysql -u zabbix -p
Enter password: #此時(shí)輸入admin123無法登錄數(shù)據(jù)庫,說明有用戶占用
ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES)
`先使用root用戶登錄數(shù)據(jù)庫`
[root@server html]# mysql -u root -p
MariaDB [(none)]> select user,host from mysql.user; ##查看用戶表
+--------+-----------+
| user | host |
+--------+-----------+
| zabbix | % |
| root | 127.0.0.1 |
| root | ::1 |
| | server |
| | localhost |
| root | localhost |
+--------+-----------+
MariaDB [(none)]> drop user ''@localhost; ##刪除空用戶
MariaDB [(none)]> drop user ''@server; ##刪除空用戶
MariaDB [(none)]> select user,host from mysql.user;
+--------+-----------+
| user | host |
+--------+-----------+
| zabbix | % |
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
MariaDB [(none)]> quit
Bye
##此時(shí)再次刷新頁面就會(huì)顯示Success??!成功登錄
[root@server html]# yum install php-bcmath php-mbstring -y
[root@server html]# rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm
##安裝zabbix源
[root@server html]# cd /etc/yum.repos.d/
[root@server yum.repos.d]# cat zabbix.repo ##這是下載的zabbix的源
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/3.5/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
[root@server yum.repos.d]# yum install zabbix-server-mysql zabbix-web-mysql -y
##安裝zabbix
[root@server yum.repos.d]# zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -u zabbix -p zabbix
##在zabbix數(shù)據(jù)庫中生成數(shù)據(jù)文件
[root@server yum.repos.d]# vim /etc/zabbix/zabbix_server.conf ##修改zabbix配置文件
125 DBPassword=admin123 ##添加zabbix數(shù)據(jù)庫密碼
[root@server yum.repos.d]# vim /etc/httpd/conf.d/zabbix.conf
20 php_value date.timezone Asia/Shanghai ##修改為中國時(shí)區(qū)
[root@server yum.repos.d]# vim /usr/share/zabbix/include/defines.inc.php
#####修正圖表中文亂碼####
##在末行模式下進(jìn)行替換
:%s /graphfont/kaiti/g
[root@server yum.repos.d]# cd /usr/share/zabbix/fonts/ ##在此目錄下上傳stkaiti.ttf字體
[root@server fonts]# rz -E
[root@server fonts]# ls
graphfont.ttf stkaiti.ttf
[root@server fonts]# systemctl start zabbix-server.service ##開啟zabbix服務(wù)
[root@server fonts]# systemctl enable zabbix-server.service
[root@server fonts]# netstat -antp | grep zabbix (端口10051)
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 43984/zabbix_server
tcp6 0 0 :::10051 :::* LISTEN 43984/zabbix_server
[root@server fonts]# systemctl restart httpd.service ##重啟httpd服務(wù)
點(diǎn)擊右上角人物頭像,在Language語言欄選擇Chinese(zh_CN)簡(jiǎn)體中文,點(diǎn)擊Update更新
[root@agent ~]# systemctl stop firewalld.service
[root@agent ~]# systemctl disable firewalld.service
[root@agent ~]# setenforce 0
[root@agent ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm
##安裝yum源
[root@agent ~]# yum install zabbix-agent -y ##安裝代理agent
[root@agent ~]# vim /etc/zabbix/zabbix_agentd.conf ##修改配置文件
98 Server=192.168.13.128 ##指定監(jiān)控端server地址
139 ServerActive=192.168.13.128 ##指定監(jiān)控端server地址
150 Hostname=test ##名稱
[root@agent ~]# systemctl start zabbix-agent.service ##開啟服務(wù)
[root@agent ~]# systemctl enable zabbix-agent.service
[root@agent ~]# netstat -natp | grep zabbix (agent端口號(hào)10050)
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 41189/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 41189/zabbix_agentd
[root@server ~]# yum install mailx -y ##安裝mailx軟件
[root@server ~]# vim /etc/mail.rc ##修改配置文件
##末行添加
set from=706858376@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=706858376@qq.com
set smtp-auth-password=授權(quán)碼 ##此處是你郵箱的第三方登錄的授權(quán)碼
set smtp-auth=login
[root@server ~]# echo "hello world" | mail -s "testmail" 706858376@qq.com ##發(fā)送郵件
[root@server ~]# cd /usr/lib/zabbix/alertscripts/ ##切換到zabbix腳本目錄下
[root@server alertscripts]# vim mailx.sh ##編輯發(fā)送郵件腳本
#!/bin/bash
#send mail
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
[root@server alertscripts]# touch /tmp/mailx.log ##創(chuàng)建日志
[root@server alertscripts]# chown -R zabbix.zabbix /tmp/mailx.log ##授權(quán)屬主屬組
[root@server alertscripts]# chmod +x /usr/lib/zabbix/alertscripts/mailx.sh ##執(zhí)行權(quán)限
[root@server alertscripts]# chown -R zabbix.zabbix /usr/lib/zabbix/ ##授權(quán)屬主屬組
[root@server alertscripts]# ./mailx.sh 706858376@qq.com "yun" "heihei"
模板:
默認(rèn)操作步驟持續(xù)時(shí)間 60
默認(rèn)接收人 : {TRIGGER.STATUS}:{TRIGGER.NAME}
默認(rèn)信息:
告警主機(jī):{HOST.NAME}
告警 IP:{HOST.IP}
告警時(shí)間:{EVENT.DATE}-{EVENT.TIME}
告警等級(jí):{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
事件 ID:{EVENT.ID}
模板:
恢復(fù)操作:{TRIGGER.STATUS}:{TRIGGER.NAME}
恢復(fù)信息:
恢復(fù)主機(jī):{HOST.NAME}
恢復(fù) IP:{HOST.IP}
恢復(fù)時(shí)間:{EVENT.DATE}-{EVENT.TIME}
恢復(fù)等級(jí):{TRIGGER.SEVERITY}
恢復(fù)信息:{TRIGGER.NAME}:{ITEM.VALUE}
恢復(fù) ID:{EVENT.ID}
[root@agent yum.repos.d]# systemctl stop sshd ##關(guān)閉被監(jiān)控端的ssh服務(wù)
[root@agent yum.repos.d]# systemctl start sshd ##開啟被監(jiān)控端的ssh服務(wù)