1. 程式人生 > >Linux 搭建Zabbix監控

Linux 搭建Zabbix監控

ctu passwd 命令 rem user 自動 使用 sender inpu

搭建Zabbix監控

搭建Zabbix監控 服務器 192.168.4.21

1.1 部署服務運行環境 (LAMP/LNMP)

1.2 安裝zabbix 軟件(源碼)

軟件包:

zabbix-3.2.3.tar.gz

php-bcmath-5.4.45-13.el7.remi.x86_64.rpm

php-mbstring-5.4.45-13.el7.remi.x86_64.rpm

1.2.1 安裝準備

# yum -y install gcc gcc-c++//安裝編譯工具

# rpm -q gcc gcc-c++

gcc-4.8.5-4.el7.x86_64

gcc-c++-4.8.5-4.el7.x86_64

# useradd zabbix//創建運行帳號

1.2.2 安裝Zabbix

# tar -zxf zabbix-3.2.3.tar.gz

# cd zabbix-3.2.3/

# ./configure --help

--prefix=PREFIX install architecture-independent files in PREFIX

[/usr/local]

--enable-server Turn on build of Zabbix server

--enable-agent Turn on build of Zabbix agent and client utilities

--with-mysql[=ARG] use MySQL client library [default=no], optionally

specify path to mysql_config


# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql

...

Now run 'make install'

...

# make install

# ls /usr/local/zabbix/

bin etc lib sbin share


1.2.3 做初始化配置

# cp -r frontends/php/ /var/www/html/zabbix

# ls /var/www/html/zabbix/

# mysql -uroot -p123456

MariaDB [(none)]> create database zabbixdb;

MariaDB [(none)]> grant all on zabbixdb.* to zabbixuser@'localhost' identified by '123456';

# cd /root/zabbix/zabbix-3.2.3/database/mysql/

# ls

data.sql images.sql schema.sql

# mysql -uzabbixuser -p123456 zabbixdb < schema.sql

# mysql -uzabbixuser -p123456 zabbixdb < images.sql

# mysql -uzabbixuser -p123456 zabbixdb < data.sql

# firefox http://192.168.4.21/zabbix

技術分享圖片

技術分享圖片


# vim /etc/php.ini

672 post_max_size = 16M

384 max_execution_time = 300

394 max_input_time = 300

技術分享圖片

技術分享圖片

# yum list | grep -i php-gd

php-gd.x86_64 5.4.16-36.el7_1 dvd

# yum -y install php-gd.x86_64

# yum list | grep -i php-xml

php-xml.x86_64 5.4.16-36.el7_1 dvd

php-xmlrpc.x86_64 5.4.16-36.el7_1 dvd

# yum -y install php-xml

# rpm -ivh --nodeps php-mbstring-5.4.45-13.el7.remi.x86_64.rpm

# rpm -ivh --nodeps php-bcmath-5.4.45-13.el7.remi.x86_64.rpm

技術分享圖片




技術分享圖片

技術分享圖片

技術分享圖片


# chmod o+w /var/www/html/zabbix/conf

# ls /var/www/html/zabbix/conf

maintenance.inc.php zabbix.conf.php zabbix.conf.php.example

# cat /var/www/html/zabbix/conf/zabbix.conf.php

<?php

// Zabbix GUI configuration file.

global $DB;


$DB['TYPE'] = 'MYSQL';

$DB['SERVER'] = 'localhost';

$DB['PORT'] = '0';

$DB['DATABASE'] = 'zabbixdb';

$DB['USER'] = 'zabbixuser';

$DB['PASSWORD'] = '123456';


// Schema name. Used for IBM DB2 and PostgreSQL.

$DB['SCHEMA'] = '';


$ZBX_SERVER = '192.168.4.21';

$ZBX_SERVER_PORT = '10051';

$ZBX_SERVER_NAME = 'monitor_server';


$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;


技術分享圖片


登錄管理頁面

初始用戶名 admin 初始密碼 zabbix

技術分享圖片


軟件使用 :修改語言 修改管理員登錄密碼 監控模版 監控主機

技術分享圖片


技術分享圖片


技術分享圖片

技術分享圖片


技術分享圖片


1.2.4 修改配置文件

# vim /usr/local/zabbix/etc/zabbix_server.conf

38 LogFile=/tmp/zabbix_server.log//日誌 記錄啟動信息

87 DBName=zabbixdb

103 DBUser=zabbixuser

111 DBPassword=123456


# cp /root/zabbix/zabbix-3.2.3/misc/init.d/fedora/core/zabbix_server /etc/init.d/

# chmod +x /etc/init.d/zabbix_server

# sed -i '22s;/usr/local;/usr/local/zabbix;' /etc/init.d/zabbix_server

# sed -n '22p' /etc/init.d/zabbix_server

BASEDIR=/usr/local/zabbix/

1.2.5 啟動服務

# chkconfig --add zabbix_server

# chkconfig --list zabbix_server

# systemctl start zabbix_server

# systemctl status zabbix_server

# systemctl enable zabbix_server

# netstat -pantu | grep :10051

tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 29635/zabbix_server

tcp 0 0 192.168.4.21:40338 192.168.4.21:10051 TIME_WAIT -

tcp 0 0 192.168.4.21:40337 192.168.4.21:10051 TIME_WAIT -

tcp 0 0 192.168.4.21:40336 192.168.4.21:10051 TIME_WAIT -

tcp 0 0 192.168.4.21:40335 192.168.4.21:10051 TIME_WAIT -

tcp 0 0 192.168.4.21:40334 192.168.4.21:10051 TIME_WAIT -

tcp 0 0 192.168.4.21:40339 192.168.4.21:10051 TIME_WAIT -


二,監控遠端主機 192.168.4.12

2.1.1 配置被監控端 12

a 運行 zabbix_agentd 服務 : 裝包 修改配置文件 啟動服務

# rpm -q gcc gcc-c++

gcc-4.8.5-4.el7.x86_64

gcc-c++-4.8.5-4.el7.x86_64

# useradd zabbix

# tar -zxf zabbix-3.2.3.tar.gz

# cd zabbix-3.2.3/

# ./configure --prefix=/usr/local/zabbix --enable-agent

# make install

# ls /usr/local/zabbix/

bin etc lib sbin share

# vim /usr/local/zabbix/etc/zabbix_agentd.conf

30 LogFile=/tmp/zabbix_agentd.log//服務日誌文件 目錄

91 Server=127.0.0.1,192.168.4.21//允許連接服務地址

132 ServerActive=192.168.4.21:10051//監控服務器的IP 和端口

# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

# chmod +x /etc/init.d/zabbix_agentd

# chkconfig --add zabbix_agentd

# sed -i '22s;/usr/local;/usr/local/zabbix;' /etc/init.d/zabbix_agentd

# sed -n '22p' /etc/init.d/zabbix_agentd

# systemctl daemon-reload

# systemctl start zabbix_agentd

# systemctl enable zabbix_agentd

# netstat -pantu | grep :10050

tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 17579/zabbix_agentd



2.1.2 配置監控服務器 21

登錄管理界面 添加監控新主機 查看監控信息



技術分享圖片


技術分享圖片


技術分享圖片


技術分享圖片


技術分享圖片


技術分享圖片


技術分享圖片


技術分享圖片


技術分享圖片


三.監控本機

a 運行 zabbix_agentd 服務 : 修改配置文件 啟動服務

# vim /usr/local/zabbix/etc/zabbix_agentd.conf

# sed -n '132p' /usr/local/zabbix/etc/zabbix_agentd.conf

ServerActive=127.0.0.1:10051

# cp /root/zabbix/zabbix-3.2.3/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

# chmod +x /etc/init.d/zabbix_agentd

# chkconfig --add zabbix_agentd

# sed -i '22s;/usr/local;/usr/local/zabbix;' /etc/init.d/zabbix_agentd

# sed -n '22p' /etc/init.d/zabbix_agentd

# systemctl daemon-reload

# systemctl start zabbix_agentd

# systemctl enable zabbix_agentd

# netstat -pantu | grep :10050

tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 4970/zabbix_agentd

b 登錄管理界面 添加監控新主機 查看監控信息

系統自動生成監控主機 主機名為Zabbix server


四. 自定義監控

環境準備 監控主機192.168.4.3上 sshd httpd

# systemctl stop firewalld

# setenforce 0

# sed -n '42p' /etc/httpd/conf/httpd.conf

Listen 8090

# systemctl restart httpd

# netstat -pantu | grep httpd

tcp6 0 0 :::8090 :::* LISTEN 2994/httpd

# sed -n '17p' /etc/ssh/sshd_config

Port 2222

# systemctl restart sshd

# netstat -pantu | grep sshd

tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN 3085/sshd

# yum -y install gcc gcc-c++

# useradd zabbix

# scp 192.168.4.21:/root/zabbix/zabbix-3.2.3.tar.gz /root/

# tar -zxf zabbix-3.2.3.tar.gz

# cd zabbix-3.2.3/

# ./configure --prefix=/usr/local/zabbix --enable-agent

# make install

# ls /usr/local/zabbix/

bin etc lib sbin share

# sed -ri '91s/(.*)/\1,192.168.4.21/' /usr/local/zabbix/etc/zabbix_agentd.conf

# sed -n '91p;' /usr/local/zabbix/etc/zabbix_agentd.conf

Server=127.0.0.1,192.168.4.21

# sed -i '132s/172.0.0.1/192.168.4.21:10051/' /usr/local/zabbix/etc/zabbix_agentd.conf

# sed -n '132p' /usr/local/zabbix/etc/zabbix_agentd.conf

ServerActive=192.168.4.21:10051

# cp /root/zabbix-3.2.3/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

# chmod +x /etc/init.d/zabbix_agentd

# sed -i '22s;/usr/local;/usr/local/zabbix;' /etc/init.d/zabbix_agentd

# sed -n '22p' /etc/init.d/zabbix_agentd

BASEDIR=/usr/local/zabbix

# chkconfig --add zabbix_agentd

# systemctl enable zabbix_agentd

# systemctl start zabbix_agentd

# netstat -pantu | grep :10050

tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 10480/zabbix_agentd


使用軟件自帶的命令定義監控項

1)創建監控模版 amytmp

配置 ---> 模版 ---> 創建模版


技術分享圖片

技術分享圖片

技術分享圖片技術分享圖片

技術分享圖片


2)創建應用集someser


技術分享圖片


技術分享圖片


技術分享圖片


3)創建監控項(名稱 命令)


技術分享圖片

技術分享圖片


技術分享圖片


技術分享圖片

技術分享圖片


技術分享圖片

技術分享圖片


技術分享圖片


4)監控主機時 調用自定義模版


技術分享圖片


技術分享圖片


技術分享圖片


技術分享圖片




5)查看監控信息

技術分享圖片


測試 監控信息

# systemctl stop httpd

技術分享圖片


五.自定義命令 定義監控項

1)配置被監控端 主機3

a 啟用自定義監控項功能

# vim /usr/local/zabbix/etc/zabbix_agentd.conf

263 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf//聲明自定義監控命令文件目錄

278 UnsafeUserParameters=1//允許自定義

282 # Format: UserParameter=<key>,<shell command>//定義命名規範

b 定義監控命令

# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/getuser.conf

UserParameter=get_sum_users,cat /etc/passwd | wc -l

UserParameter=get_login_users,grep -c "/bin/bash" /etc/passwd

UserParameter=get_nologin_users,grep -v -c "/bin/bash" /etc/passwd

c 重啟服務 zabbix_agentd

# systemctl restart zabbix_agentd.service

# netstat -pantu | grep zabbix_agentd

tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 6399/zabbix_agentd


d 測試配置

# cd /usr/local/zabbix/bin/

# ls

zabbix_get zabbix_sender

# ./zabbix_get -h//查看命令幫助

# ./zabbix_get -s 127.0.0.1 -p 10050 -k get_sum_users

45

# ./zabbix_get -s 127.0.0.1 -p 10050 -k get_login_users

3

# ./zabbix_get -s 127.0.0.1 -p 10050 -k get_nologin_users

42

2)配置監控服務器

a 測試能否時用監控端定義的命令

# cd /usr/local/zabbix/bin/

# ls

zabbix_get zabbix_sender

# ./zabbix_get -s 192.168.4.3 -p 10050 -k get_sum_users

45

# ./zabbix_get -s 192.168.4.3 -p 10050 -k get_login_users

3

# ./zabbix_get -s 192.168.4.3 -p 10050 -k get_nologin_users

42

b 在自定義應用集添加 新的監控項(名字命令) 技術分享圖片

技術分享圖片

技術分享圖片


技術分享圖片

技術分享圖片


技術分享圖片


技術分享圖片


技術分享圖片

c 監控主機時 調用自定義模版

技術分享圖片



技術分享圖片

技術分享圖片


技術分享圖片



d 查看監控信息


技術分享圖片


測試 監控信息

# useradd test

技術分享圖片





六. 監控報警

監控 主機3 當系統的總用戶數大於50時 發報警郵件

給 zabbix@localhost 郵箱帳號


1)準備郵件服務器

# systemctl restart postfix.service

//收件人 zabbix@localhost

//發件人 root@localhost

測試郵件服務器

# echo 'test' | mail -s 'test' zabbix

# mail -u zabbix

Heirloom Mail version 12.5 7/5/10. Type ? for help.

"/var/mail/zabbix": 1 message 1 new

>N 1 root Wed Jan 10 22:23 18/595 "test"

&

2) 創建觸發器 名稱 ---> 監控項名稱

技術分享圖片

技術分享圖片


技術分享圖片



技術分享圖片



技術分享圖片


3)創建動作 名稱 ---> 動作:發郵件

技術分享圖片


技術分享圖片

技術分享圖片


3) 指定收件人


技術分享圖片



技術分享圖片


技術分享圖片



技術分享圖片

技術分享圖片



技術分享圖片


技術分享圖片


技術分享圖片

技術分享圖片



4) 指定郵件服務器技術分享圖片

技術分享圖片


技術分享圖片


5)測試:觸發器被觸發後 收件人是否收到郵件

技術分享圖片


# useradd test1

# useradd test2

# useradd test3

# useradd test4

# useradd test5

# cat /etc/passwd | wc -l

51


技術分享圖片


技術分享圖片


//查看本機 郵箱

# mail -u zabbix

Heirloom Mail version 12.5 7/5/10. Type ? for help.

"/var/mail/zabbix": 2 messages 1 new 2 unread

U 1 root Wed Jan 10 22:23 19/605 "test"

>N 2 [email protected] Wed Jan 10 22:50 22/996 "taruserbig50"

& 2

Message 2:

From [email protected] Wed Jan 10 22:50:03 2018

Return-Path: <[email protected]>

X-Original-To: zabbix@localhost

Delivered-To: [email protected]

From: <[email protected]>

To: <[email protected]>

Date: Wed, 10 Jan 2018 22:50:03 -0500

Subject: taruserbig50

Content-Type: text/plain; charset="UTF-8"

Status: R


Trigger: taruserbig50

Trigger status: PROBLEM

Trigger severity: Warning

Trigger URL:


Item values:


1. sumusers (host3:get_sum_users): 51

2. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*

3. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*


Original event ID: 26&



# userdel -r test5

# userdel -r test4

# userdel -r test3

# userdel -r test2

# cat /etc/passwd | wc -l

47



Linux 搭建Zabbix監控