企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

---------------------概述----------------------

Zabbix是一個高度集成的企業級開源網絡監控解決方案,與Caci、 Nagios相似,提供分佈式監控以及集中的Web管理界面。被監控對象只要支持SNMP協議或者運行Zabbix_agents代理程序便可,Zabbix的官方網址爲http://www.zabbix.com/ 軟件能夠自由下載使用。
補充:
SNMP協議
:簡單網絡管理協議(SNMP),由一組網絡管理的標準組成,包含一個應用層協議(application layer protocol)、數據庫模型(database schema)和一組資源對象。該協議可以支持網絡管理系統,用以監測鏈接到網絡上的設備是否有任何引發管理上關注的狀況。該協議是互聯網工程工做小組(IETF,Internet Engineering Task Force)定義的internet協議簇的一部分。SNMP的目標是管理互聯網Internet上衆多廠家生產的軟硬件平臺,所以SNMP受Internet標準網絡管理框架的影響也很大。SNMP已經出到第三個版本的協議,其功能較之前已經大大地增強和改進了。php

-html

Zabbix具有常見商業監控軟件所具有的功能mysql

  • 主機性能監控
  • 網絡設備性能監控
  • 數據庫性能監控
  • ftp等通用協議的監控
  • 可以利用靈活的可定製警告機制
  • 容許用戶對事件發送基於 E-mail的警告,能夠保證相關維護人員對問題作出快速響應
  • 能夠利用存儲數據提供傑出的報表及實時的圖形化數據處理,實現對 Linux、 Windows主機的7×24小時集中監控
  • 監控的項目可包括CPU、內存、磁盤、網卡流量、服務可用性等各類資源。

-ios

Zabbix監控組件主要由三大組件,分別是ZabbixServer端、Zabbix Proxy、Agent客戶端,其中ZabbixServer端包括:WEB GUI、Database、Zabbix_Server
企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警
Zabbix經過C/S模型來收集數據,經過B/S模型模式在web端展現和進行配置。
    Agent被監控端:主機設備經過安裝agent收集數據併發送給server端,網絡設備經過SNMP收集數據併發送給server端。
 
Server監控端:經過收集SNMP和agent發送來的數據,將數據寫入到後臺數據庫中(例如:mysql,oracle),在經過web展現出來。
  企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警web

------------LAMP環境部署Zabbix-------------

實驗安裝環境:

主機 操做系統 IP地址 主要軟件
Zabbix服務器 Centos 7 192.168.100.128 Zabbix軟件包
Linux客戶機 Centos 7 192.168.100.130 Zabbix軟件包

Zabbix軟件包:
百度網盤連接:https://pan.baidu.com/s/1MtfnTCgiP5tl2M6Jf0793Q 密碼:mny1 sql

#Zabbix服務器 和客戶機 關閉防火牆
[root@zabbix ~]# systemctl stop firewalld.service
[root@zabbix ~]# setenforce 0   (必定要關,不然Zabbix起不來)

--------安裝LAMP---------

1.yum安裝環境包

[root@zabbix ~]# yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash

2.配置HTTP

[root@zabbix ~]# vi /etc/httpd/conf/httpd.conf

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警
企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

3.設置PHP時區

[root@zabbix ~]# vi /etc/php.ini

date.timezone = PRC    //設置中國時區=PRC

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

4.打開HTTP和數據庫服務

[root@zabbix ~]# systemctl start httpd.service
[root@zabbix ~]# systemctl start mariadb.service
[root@zabbix ~]# netstat -ntap | egrep '(80|3306)'

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

5.安裝配置數據庫

[root@zabbix ~]# mysql_secure_installation

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警
企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

6.進入數據庫給Zabbix建立提供數據庫

[root@zabbix ~]# mysql -u root -p

CREATE DATABASE zabbix character set utf8 collate utf8_bin;     #建立一個數據庫給zabbix所使用

GRANT all privileges ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123';     #提高權限,全部庫全部表都給zabbix用戶進行操做,密碼是admin123

flush privileges;             #刷新一下

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

7.測試PHP

[root@zabbix ~]# vi /var/www/html/index.php                       #建立一個文件,測試下PHP基本信息

<?php
phpinfo();
?>

#編寫完成後保存退出,輸入Zabbix服務器地址測試PHP

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

8.測試PHP是否能鏈接數據庫

[root@zabbix ~]# vi /var/www/html/index.php     #從新建立測試文件,測試是否能鏈接mysql數據庫 

<?php
$link=mysql_connect('192.168.100.128','zabbix','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
mysql_close();
?>

#編寫完成後保存退出,輸入Zabbix服務器地址測試PHP ( 若是鏈接數據庫成功則輸出Success!! )

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

----------------如下開始部署zabbix Server-----------

1.yum安裝環境包以及Zabbix Sever

[root@zabbix ~]# yum install php-bcmath php-mbstring -y
[root@zabbix ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm                      //會自動生成yum源文件,但須要保證系統能夠上網

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

[root@zabbix ~]# yum install zabbix-server-mysql zabbix-web-mysql -y

2.生成Zabbix的數據庫

[root@zabbix ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p  zabbix //生成數據庫文件,注意密碼不要輸成root的。

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

3.修改Zabbix Server的配置文件

[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

4.查看下配置文件是否配置正確

[root@zabbix ~]# grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf 

38:LogFile=/var/log/zabbix/zabbix_server.log
49:LogFileSize=0
72:PidFile=/var/run/zabbix/zabbix_server.pid
82:SocketDir=/var/run/zabbix
101:DBName=zabbix
117:DBUser=zabbix
125:DBPassword=admin123                            //修改本行
347:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
465:Timeout=4
507:AlertScriptsPath=/usr/lib/zabbix/alertscripts
517:ExternalScripts=/usr/lib/zabbix/externalscripts
553:LogSlowQueries=3000

5.修改Apache的時區

[root@zabbix ~]# vim /etc/httpd/conf.d/zabbix.conf //修改時區

php_value date.timezone Asia/Shanghai             //修改成上海時區

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

6.修正圖表中文亂碼

[root@zabbix ~]# vim /usr/share/zabbix/include/defines.inc.php //修正圖表中文亂碼

:%s /graphfont/kaiti/g               //進行所有字體替換。從微軟系統下複製相應的字體文件到 /usr/share/zabbix/fonts 目錄中注意字體名稱要對應配置文件,且注意大小寫

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

7.安裝掛載Zabbix軟件包

Zabbix軟件包:
百度網盤連接:https://pan.baidu.com/s/1MtfnTCgiP5tl2M6Jf0793Q 密碼:mny1 數據庫

[root@zabbix ~]# yum install lrzsz -y  
[root@zabbix ~]# rz

#裝好以後直接使用命令 rz 能夠在windows 和Linux之間傳文件,文件掛載在當前目錄下。
[root@zabbix ~]# cp STKAITI.TTF /usr/share/zabbix/fonts/

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

8.啓動各項服務

[root@zabbix ~]# systemctl enable zabbix-server       //設置開機自啓動
[root@zabbix ~]# systemctl start zabbix-server
[root@zabbix ~]# netstat -anpt | grep zabbix          //監聽在10051端口上

PS: 這裏可能會出現問題,好比:

-------------解決本地沒法登陸問題(可忽略)---------------------------vim

[root@zabbix ~]# mysql -uroot -p     //root身份登陸數據庫

select user,host from mysql.user;   //有空用戶名稱佔用致使本地沒法登陸遠程可登陸
+--------+-----------+
| user   | host      |
+--------+-----------+
| zabbix | %         |
| root   | 127.0.0.1 |
| root   | ::1       |
|        | cacti     |
| root   | cacti     |
|        | localhost |
| root   | localhost |
+--------+-----------+

drop user ''@localhost;

drop user ''@cacti;

flush privileges;

完成後再從新啓動Zabbix。

9.重啓HTTP服務,登陸Zabbix

[root@zabbix ~]# systemctl restart httpd.service

http://192.168.100.128/zabbix/                               //安裝後登陸 用戶名Admin 密碼:zabbix

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警
企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警
企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警
企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警
企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警
企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警
企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

-----------配置代理端-就是被控服務器----若是服務器也須要被本身監控也須要安裝--zabbix-agent--

1.關閉防火牆

[root@zabbix ~]# systemctl stop firewalld.service
[root@zabbix ~]# systemctl disable firewalld.service 
[root@zabbix ~]# setenforce 0

2.安裝Zabbix的yum源

[root@zabbix ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm

3.安裝Zabbix agent

[root@zabbix ~]# yum install -y zabbix-agent

4.修改Zabbix agent配置

[root@zabbix ~]# vim /etc/zabbix/zabbix_agentd.conf

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警
企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

[root@zabbix ~]# grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf                   //更改配置內容以下:

13:PidFile=/var/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
98:Server=192.168.100.128
139:ServerActive=192.168.100.128
150:Hostname=test
268:Include=/etc/zabbix/zabbix_agentd.d/*.conf

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

5.開啓Zabbix agent

[root@zabbix ~]# systemctl enable zabbix-agent.service
[root@zabbix ~]# systemctl restart zabbix-agent.service
[root@zabbix ~]# netstat -anpt | grep 10050         //監聽在10050端口

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

--------------增長被控主機--在WEB平臺上作---------

配置-主機-建立主機:windows

主機頁面根據需求配置
模板頁須要連接模板,根據須要連接相應的模板
0Kbash

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警
企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警
企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警
企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

打開主頁面,查看到兩個錯誤,一個是被監控端沒有安裝HTTP服務,一個是主機沒法解析客戶端主機名。

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

問題分析:
                   從問題上來看,是主機在ping客戶端時解析不了主機名
解決辦法:
                                    在/etc/hosts當中添加一條記錄
                          192.168.100.130    zabbix.server

保存後問題解決了,再也沒有那麼多報警郵件。

--------配置測試郵件報警功能---服務器上配置---------

1.yum安裝mailx並配置

[root@zabbix ~]# yum install mailx -y
[root@zabbix ~]# vim /etc/mail.rc                   //注意網易郵箱須要開啓客戶端受權碼進行第三方登陸

----文件末尾新增---
set from=446017502@qq.com
set smtp=smtp.qq.com                     //郵箱域名
set smtp-auth-user=446017502@qq.com
set smtp-auth-password=第三方受權碼
set smtp-auth=login

QQ郵箱生成第三方受權碼操做:
https://jingyan.baidu.com/article/4b07be3cb2f74148b380f3e4.html

2.測試發信正常

[root@zabbix ~]# echo "hello world" | mail -s "testmail" 446017502@qq.com             //測試發信正常

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警
企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

3.編寫發郵件腳本

[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts
[root@zabbix ~]# vi mailx.sh                     //編寫發郵件腳本
#!/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/mail.log 2>&1

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

4.建立並提高Zabbix權限

[root@zabbix ~]# touch /tmp/mail.log 
[root@zabbix ~]# chown -R zabbix.zabbix  /tmp/mail.log 
[root@zabbix ~]# chmod +x /usr/lib/zabbix/alertscripts/mail.sh
[root@zabbix ~]# chown -R zabbix.zabbix /usr/lib/zabbix/

5.測試發郵件腳本

[root@zabbix ~]# ./mail.sh 446017502@qq.com "yunjisuan" "zabbix test"          //測試發郵件腳本是否能夠正常工做

企業級分佈式監控Zabbix部署+安裝排錯解決本地沒法登陸問題+測試郵件報警

相關文章
相關標籤/搜索