您好,登錄后才能下訂單哦!
一.zabbix 客戶端的安裝
既然要監控我們就要添加要監控的主機,在添加主機之前我們首先要在被檢測主機上面安裝
agent,安裝 agent 比較簡單,我們也是按照安裝 server 的流程,下載軟件包,在編譯的時
候,我們只選擇 agent
192.168.1.20 作為 zabbix 的被監控端,提供 web 和 mysql 應用
1.安裝 Zabbix,配置 Zabbix agent:
21 rz (上傳zabbix-3.2.1.tar.gz)
22 ls
23 tar zxf zabbix-3.2.1.tar.gz (解壓)
24 cd zabbix-3.2.1/
25 ./configure --prefix=/usr/local/zabbix --enable-agent && make && make install (編譯安裝)
2.優化一下zabbix
23 cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ (拷貝啟動文件)
24 vim /etc/init.d/zabbix_agentd (修改啟動文件)
BASEDIR=/usr/local/Zabbix #22
PIDFILE=/usr/local/zabbix/logs/$BINARY_NAME.pid #31
25 cd /usr/local/zabbix/etc/
26 vim zabbix_agentd.conf (修改zabbix配置文件)
28 grep -v "^#" /usr/local/zabbix/etc/zabbix_agentd.conf | grep -v "^$"
PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid #11
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log #30
Server=192.168.1.10 #91 服務端IP
ListenPort=10050 #99去注釋
ListenIP=0.0.0.0 #去注釋
ServerActive=192.168.1.10 #132 服務端IP
Hostname=192.168.1.30 #IP隨便
Timeout=3 #去注釋
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ #262
29 mkdir /usr/local/zabbix/logs (創建所需目錄)
30 useradd zabbix -s /sbin/nologin -M (創建所需用戶)
33 chown -R zabbix:zabbix /usr/local/zabbix/ (讓用戶可執行/usr/local/zabbix)
34 ll /usr/local/zabbix/ (查看一下/usr/local/zabbix的屬組和屬主)
3.開機自啟
36 chkconfig --add zabbix_agentd (添加啟動)
37 chkconfig zabbix_agentd on (開啟自啟)
38 /etc/init.d/zabbix_agentd start (開啟zabbix)
40 netstat -anpt | grep 10050 (查看端口)
到此, zabbix3.2.1 監控系統的基本環境安裝完成。
4.實現 zabbix 添加監測項
添加對 Linux 主機的監控
在瀏覽器中打開: http://192.168.31.225/zabbix
登錄 zabbix,先在“配置”-“主機”里添加主機監控,監控 os 資源:內存, cpu, io,負載,帶寬等.登錄 zabbix,先在“配置”-“主機”里單擊”創建主機”
注意:下圖中的“主機名稱”要和 zabbix_agentd.conf 文件中設置的“Hostname”后面的名稱一
致!
主機名稱: 192.168.1.30
群組: Linux servers
agent 代理程序接口
ip: 192.168.1.10
已啟用: 勾選
其它選項默認即可
切換到模板
選擇
選擇: Template OS Linux
點添加
添加
至此, Zabbix 監控 Linux 主機設置完成。
配置過一段時間后,觀察下監控圖效果出來了沒
zabbix3.0 server 已自帶 mysql 的模板了,只需配置好 agent 客戶端,然后在 web 端給主機增加模板就行了。
二.Zabbix_agent 客戶端操作
使用腳本安裝MySQL
43 rz 上傳mysql安裝包和腳本
44 sh mysql.sh
45 history
46 netstat -anpt | grep 3306 查看IP
Mysql.sh腳本內容
#!/bin/bash
tar -zxf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
#將二進制包移動到/usr/local/mysql
mv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql
#創建data目錄
mkdir /usr/local/mysql/data
#創建用戶和組并賦予文件夾權限
groupadd -r mysql
useradd -r -g mysql -M -s /bin/false mysql
chown -R mysql:mysql /usr/local/mysql
#刪除centos7中自帶的mariadb-libs
rpm -e mariadb-libs --nodeps
#設置my.cnf配置文件
cat> /etc/my.cnf <<EOF
[client]
socket=/usr/local/mysql/mysql.sock
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
pid-file=/usr/local/mysql/data/mysql.pid
socket=/usr/local/mysql/mysql.sock
log-error=/usr/local/mysql/data/mysql.err
EOF
#做服務的軟鏈接
ln -s /usr/local/mysql/bin/* /usr/local/bin/
#mysql初始化
mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
#服務自啟動
mv /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#啟動mysql并修改密碼為123
/etc/init.d/mysqld start
mysqlpwd=` grep password /usr/local/mysql/data/mysql.err |awk -F 'root@localhost: ' '{print $2}'`
mysql -uroot -p${mysqlpwd} -e 'alter user root@localhost identified by"123"' --connect-expired-password
(1)在 zabbix_agent 服務目錄下創建.my.cnf 連接文件
zabbix 安裝目錄是/usr/local/zabbix
56 cd /usr/local/zabbix/etc/
57 vim .my.cnf
[client]
host=192.168.1.20 #自己客戶端IP
socket= /usr/local/mysql/mysql.sock
user=test
password=123.com
(2)配置 MySQL 的 key 文件
48 cd zabbix-3.2.1/conf/zabbix_agentd/
49 ls
50 ls /usr/local/zabbix/etc/
51 cp userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/ (復制配置文件)
52 cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
53 ls
然后查看 userparameter_mysql.conf 文件,看到類似 HOME=/var/lib/zabbix 的路徑設置,把路
徑全都替換為 /usr/local/zabbix/etc/,也就是上面的.my.cnf 文件所在的目錄路徑。
另外,注意 userparameter_mysql.conf 文件里的 mysql 命令路徑(提前做好 mysql 的系統環
境變量,以防 mysql 命令不被系統識別)
如下:vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
60vim/usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
OME=/usr/local/zabbix/etc mysql -N | awk '{print $$2}' #6
HOME=/usr/local/zabbix/etc mysql -N' #15
UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc mysqladmin ping | grep -c alive #17
61 /etc/init.d/zabbix_agentd restart (重啟)
服務端驗證 zabbix_get -s 192.168.1.20 -p 10050 -k mysql.status[Uptime]
客戶端修改
68 vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
OME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql -N | awk '{print $$2}' #6
HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql -N' #15
UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysqladmin ping | grep -c alive #17
UserParameter=mysql.version,/usr/local/mysql/bin/mysql -V #18
55 /etc/init.d/zabbix_agentd restart (重啟)
服務端驗證 zabbix_get -s 192.168.1.20 -p 10050 -k mysql.status[Uptime]
(3)mysql查看內容
58 mysql -u root -p123
grant all on *.* to test@'192.168.1.%' identified by '123.com';
show global status ;
show global status where Variable_name='Uptime';
(4)登錄 zabbix 監控界面,在“配置”-“模板”里可以看到自帶的 mysql 監控模板
在相應主機監控配置里添加 mysql 的監控模版(zabbix 自帶的)即可。
【1】 監控 mysql 的帶寬:在 zabbix 前端可以實時查看 mysql 發送接收的字節數。其中 bytes
received 表示從所有客戶端接收到的字節數, bytes sent 表示發送給所有客戶端的字節數。
【2】監控 mysql 的操作狀態:在 zabbix 前端可以實時查看各種 SQL 語句每秒鐘的操作次數
三.zabbix3.2.1 郵件報警設置:(服務器配置)
Zabbix 監控服務端、客戶端都已經部署完成,被監控主機已經添加, Zabiix 監控運行正常。
在 Zabbix 服務端設置郵件報警,當被監控主機宕機或者達到觸發器預設值時,會自動發送
報警郵件到指定郵箱。
具體操作:
以下操作在 Zabbix 監控服務端進行
下載 sendemail 軟件
然后安裝那兩個依賴包,命令是:
244 yum install perl-Net-SSLeay perl-IO-Socket-SSL -y
245 rz (上傳sendEmail-v1.56.tar.gz)
246 ls
247 tar zxf sendEmail-v1.56.tar.gz
248 cd sendEmail-v1.56/
249 cp sendEmail /usr/local/bin/sendEmail (復制命令目錄)
250 chown zabbix:zabbix /usr/local/bin/sendEmail (給zabbix執行權限)
1.
(1).登上qq瀏覽器操作一下
(2).服務端執行:可以看到他報錯了
sendEmail -f 123456@qq.com -t 123456@qq.com -s smtp.qq.com -u "hello" -o message-content-type=html -o message-charset=utf8 -xu 123456@qq.com -xp twjlhxzhsykjddcb -m "123"
解決vim /usr/local/bin/sendEmail
if (! IO::Socket::SSL->start_SSL($SERVER)) { #1906修改
繼續執行
sendEmail -f 123456@qq.com -t 123456om -s smtp.qq.com -u "hello" -o message-content-type=html -o message-charset=utf8 -xu 123456@qq.com -xp twjlhxzhsykjddcb -m "123"
現在已經發送郵件成功
(3)創建mail.sh郵件腳本
55 cd
56 vim mail.sh (創建郵件腳本)
#!/bin/bash
to=$1
subject=$2
body=$3
/usr/local/bin/sendEmail -o tls=auto -f 123456@qq.com -t "$to" -s smtp.qq.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu 123546@qq.com -xp twjlhxzhsykjddcb -m "$body"
執行腳本測試發郵件
57 sh mail.sh223456@qq.com test 123 (執行腳本發送郵件)
發送成功
(4)把腳本移動到進入/usr/local/zabbix/share/zabbix/alertscripts/
mv mail.sh /usr/local/zabbix/share/zabbix/alertscripts/
chown +x mail.sh
現在需要做的是,創建一個觸發動作,即系統出現故障時,觸發這個動作,然后給我們的郵箱發送報警郵件。點擊配置,選擇動作,然后點擊右邊的創建動作。
在動作這一頁名稱中寫入我們定義的動作名以及觸發條件
配置觸發器
報警測試
將 192.168.1.20 服務器的 zabbix_agent 進程關閉。
發現可以正常收到故障報警郵件
/etc/init.d/zabbix_agentd stop
可以看到已經成功發送
qq郵箱收到報錯信息
整個實驗完畢
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。