站長資訊網
        最全最豐富的資訊網站

        在LAMP架構中部署Zabbix監控系統及郵件報警機制

        初步了解Zabbix:

        Zabbix能監視各種網絡參數,保證服務器系統的安全運營;并提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。是一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。被監控對象只要支持SNMP協議或者運行Zabbix_agents代理程序即可。
        agent端:主機通過安裝agent方式采集數據。
        server端:通過收集agent發送的數據,寫入數據庫(MySQL,Oracle等),再通過php+apache在web前端展示.

        SNMP:

        SNMP是英文”Simple Network Management Protocol”的縮寫,中文意思是”簡單網絡管理協議”。SNMP是一種簡單網絡管理協議,它屬于TCP/IP五層協議中的應用層協議,用于網絡管理的協議。SNMP主要用于網絡設備的管理。

        Zabbix工作原理:

        Agentd安裝在被監控的主機上,Agent負責定期收集客戶端本地各項數據,并發送至Zabbix Server端,Zabbix Server收到數據,將數據存儲到數據庫中,用戶基于Zabbix WEB可以看到數據在前端展現圖像。當Zabbix監控某個具體的項目,改項目會設置一個觸發器閾值,當被監控的指標超過該觸發器設定的閾值,會進行一些必要的動作,動作包括:發送信息(郵件、微信、短信)、發送命令(SHELL 命令、Reboot、Restart、Install等)。

        Zabbix重要的五個組件:

        1、Zabbix Server:負責接收agent發送的報告信息的核心組件,所有配置,統計數據及操作數據均由其組織進行;
        2、Database Storage:專用于存儲所有配置信息,以及由Zabbix收集的數據;
        3、Web interface:Zabbix的GUI接口,通常與Server運行在同一臺主機上;
        4、Proxy:可選組件,常用于分布監控環境中,代理Server收集部分被監控端的監控數據并統一發往Server端;
        5、Agent:部署在被監控主機上,負責收集本地數據并發往Server端或Proxy端;

        Zabbix基本組件拓撲:
        在LAMP架構中部署Zabbix監控系統及郵件報警機制

        下面我對如何部署zabbix進行詳細配置

        實驗環境:
        在LAMP架構中部署Zabbix監控系統及郵件報警機制

        ——————————————分割線——————————————

        STKAITI字體文件可從以下信息得到下載:

        點擊這個http://www.linuxidc.com/Linux/2013-12/93755.htm 鏈接去關注 Linux公社官方微信,關注后回復數字155200。即可得到網友的分享密碼。

        如果取消關注Linux公社公眾號,即使再次關注,也將無法提供本服務!

        鏈接: https://pan.baidu.com/s/1VRFCbBpBsceJ9YD0VPXPHQ 密碼:獲得見上面的方法,地址失效請在下面留言。

        ——————————————分割線——————————————

        一、部署LAMP架構
        下載LAMP所需安裝包

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

        配置Apache主配置文件

        [root@localhost ~]# vim /etc/httpd/conf/httpd.conf
        ServerName www.yun.com:80 #修改域名
        DirectoryIndex index.html index.php #讓Apache支持PHP

        為了讓zabbix連接互聯網,設置中國時區

        [root@localhost ~]# vim /etc/php.ini
        date.timezone = PRC

        開啟httpd服務和mysql

        [root@localhost ~]# systemctl start httpd.service
        [root@localhost ~]# systemctl start mariadb.service
        [root@localhost ~]# netstat -ntap | egrep ’80|3306′            #查看兩個服務的端口
        tcp        0      0 0.0.0.0:3306            0.0.0.0:*              LISTEN      38513/mysqld       
        tcp6      0      0 :::80                  :::*                    LISTEN      38242/httpd       

        重新配置mariadb數據庫的參數

        [root@localhost ~]# mysql_secure_installation
        Set root password? [Y/n] y        #是否設置密碼
        Remove anonymous users? [Y/n] n      #是否刪除默認用戶
        Disallow root login remotely? [Y/n] n      #是否禁止root遠程登錄
        Remove test database and access to it? [Y/n] n        #是否刪除測試數據庫
        Reload privilege tables now? [Y/n] y      #是否對數據庫進行初始化配置

        創建zabbix數據庫

        [root@localhost ~]# mysql -uroot -p
        MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;    #創建一個zabbix數據庫
        MariaDB [(none)]> grant all on zabbix.* to ‘zabbix’@’%’ identified by ‘123123’;    #為zabbix數據庫創建管理用戶
        MariaDB [(none)]> flush privileges;

        創建PHP測試首頁

        [root@localhost ~]# vim /var/www/html/index.php   
        <?php
          phpinfo();
        ?>

        在LAMP架構中部署Zabbix監控系統及郵件報警機制

        編寫測試腳本,測試PHP能否連接數據庫

        <?php
        $link=mysql_connect(‘192.168.199.129′,’zabbix’,’123123′);
        if($link) echo “<h1>success</h1>”;
        else echo “fail”;
        mysql_close();
        ?>

        在LAMP架構中部署Zabbix監控系統及郵件報警機制

        在使用zabbix用戶進行登錄數據庫時有時會出現登錄失敗的現象,這是因為里面有空用戶占用導致本地用戶無法登錄,所以需要刪除空用戶

        [root@localhost ~]# mysql -u zabbix -p        #登錄失敗
        Enter password:
        ERROR 1045 (28000): Access denied for user ‘zabbix’@’localhost’ (using password: YES)

        [root@localhost ~]# mysql -u root -p
        MariaDB [(none)]> select user,host from mysql.user;  #有空用戶占用導致本地用戶無法登陸
        +——–+———————–+
        | user  | host                  |
        +——–+———————–+
        | zabbix | %                    |
        | root  | 127.0.0.1            |
        | root  | ::1                  |
        |        | localhost            |
        | root  | localhost            |
        |        | localhost.localdomain |
        | root  | localhost.localdomain |
        +——–+———————–+
        7 rows in set (0.00 sec)

        MariaDB [(none)]> drop user ”@’localhost’;        #刪除空用戶
        Query OK, 0 rows affected (0.01 sec)

        MariaDB [(none)]> drop user ”@’localhost.localdomain’;      #刪除空用戶
        Query OK, 0 rows affected (0.00 sec)

        [root@localhost ~]# mysql -u zabbix -p      #再次登錄就可以了
        MariaDB [(none)]>

        到此為止,LAMP架構就部署完了

        二、部署zabbix server

        [root@localhost ~]# yum install php-bcmath php-mbstring -y      #下載兩個PHP依賴包
        [root@localhost~]#rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm  #下載zabbix yum源,安裝完成后會自動產生repo文件
        [root@localhost ~]# yum install zabbix-server-mysql zabbix-web-mysql -y    #安裝zabbix軟件包

        修改zabbix配置文件

        [root@localhost ~]# 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=123123    #密碼改為zabbix登陸密碼
        357:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
        475:Timeout=4
        518:AlertScriptsPath=/usr/lib/zabbix/alertscripts
        529:ExternalScripts=/usr/lib/zabbix/externalscripts
        565:LogSlowQueries=3000

        [root@localhost ~]# vim /etc/httpd/conf.d/zabbix.conf    #修改時區
        php_value date.timezone Asia/Shanghai

        [root@localhost ~]# vim /usr/share/zabbix/include/defines.inc.php    #修正圖表中文亂碼
        :%s /graphfont/kaiti/g    #將配置文件中的graphfont替換為kaiti
        [root@localhost ~]# cp STKAITI.TTF /usr/share/zabbix/fonts/    #從微軟系統下復制相應的字體文件到/usr/share/zabbix/fonts/

        開啟zabbix服務端

        [root@localhost ~]# systemctl start zabbix-server.service   
        [root@localhost ~]# systemctl enable zabbix-server.service
        [root@localhost ~]# netstat -ntap | grep 10051      #查看端口
        tcp        0      0 0.0.0.0:10051          0.0.0.0:*              LISTEN      40703/zabbix_server
        tcp6      0      0 :::10051                :::*                    LISTEN      40703/zabbix_server

        [root@localhost ~]# systemctl restart httpd.service    #重啟Apache服務

        http://192.168.199.129/zabbix    #在瀏覽器上登陸zabbix頁面

        首先看見的是zabbix的版本:

        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        這里所有的選項都為OK表示配置是沒問題的:
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        密碼為zabbix的登陸密碼:
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        名字填寫zabbix:
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        默認的用戶名和密碼為Admin和zabbix:
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        登陸完成后便會到zabbix的監控頁面:
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        點擊右上角頭像可以選擇語言,這里我選擇中文:
        在LAMP架構中部署Zabbix監控系統及郵件報警機制

        三、安裝被監控端

        [root@localhost ~]# systemctl stop firewalld.service    #關閉防火墻
        [root@localhost ~]# setenforce 0

        [root@localhost~]#rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm  #下載yum源
        [root@localhost ~]# yum install zabbix-agent -y  #被監控端需要裝agent包,如果想要監控本機器,也可以在監控服務器上進行安裝

        更改配置文件

        [root@localhost ~]# 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.199.129    #將地址指向服務器端
        139:ServerActive=192.168.199.129    #將地址指向服務器端
        150:Hostname=test    #名字可自行定義
        268:Include=/etc/zabbix/zabbix_agentd.d/*.conf

        開啟服務

        [root@localhost ~]# systemctl start zabbix-agent.service     
        [root@localhost ~]# systemctl enable zabbix-agent.service
        Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
        [root@localhost ~]# netstat -ntap | grep zabbix    #查看端口
        tcp        0      0 0.0.0.0:10050          0.0.0.0:*              LISTEN      40351/zabbix_agentd
        tcp6      0      0 :::10050                :::*                    LISTEN      40351/zabbix_agentd

        在服務器上配置完了就可以到zabbix監控頁面進行配置
        首先在監控頁面中添加被監控服務器

        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        配置主機項基本信息
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        配置模板選項,添加想要監控的模塊
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        查看添加好的主機信息
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        回到主界面,點擊刷新,過一會就回出現監控信息
        在LAMP架構中部署Zabbix監控系統及郵件報警機制

        四、配置郵件報警功能—–在監控服務器上配置

        [root@localhost ~]# yum install mailx -y      #下載郵箱服務
        [root@localhost ~]# vim /etc/mail.rc        #在文件末尾添加如下配置
        set from=郵箱地址
        set smtp=smtp.qq.com
        set smtp-auth-user=郵箱地址
        set smtp-auth-password=**********    #如果填寫的是qq郵箱,密碼為qq郵箱的SMTP密碼
        set smtp-auth=login

        在LAMP架構中部署Zabbix監控系統及郵件報警機制

        [root@localhost ~]# systemctl restart postfix.service    #重新啟動郵箱服務

        [root@localhost ~]# echo “hello world” | mail -s “testmail” 郵箱地址  #發送一個測試郵件

        可以看到我在QQ郵箱中收到了一封郵件
        在LAMP架構中部署Zabbix監控系統及郵件報警機制

        [root@localhost ~]# vim /usr/lib/zabbix/alertscripts/mail.sh    #寫一個發郵件的腳本,腳本路徑一定要寫對
        #!/bin/bash
        #send mail

        messages=`echo $3 | tr ‘rn’ ‘n’`
        subject=`echo $2 | tr ‘rn’ ‘n’`
        echo “${messages}” | mail -s “${subject}” $1 >>/tmp/mail.log 2>&1[root@localhost ~]# chmod +x /usr/lib/zabbix/alertscripts/mail.sh    #給腳本執行權限
        [root@localhost ~]# touch /tmp/mail.log    #創建郵箱日志文件
        [root@localhost ~]# chown -R zabbix.zabbix /tmp/mail.log    #將權限給zabbix用戶
        [root@localhost ~]# chown -R zabbix.zabbix /usr/lib/zabbix/再次發送一封測試郵件使用腳本執行

        [root@localhost ~]# cd /usr/lib/zabbix/alertscripts/
        [root@localhost alertscripts]# ./mail.sh 郵箱地址 “yun” “hahahahaha”        #發送格式為“地址”“標題”“內容”

        在LAMP架構中部署Zabbix監控系統及郵件報警機制

        六、配置zabbix郵件報警機制
        1 選擇報警媒介類型
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        2 選擇管理用戶
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        3 在動作配置項中定義報警郵件的發送形式
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        4 配置恢復操作后郵件的發送形式
        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        在LAMP架構中部署Zabbix監控系統及郵件報警機制

        七、測試,如果我關閉受監控的服務來模擬服務故障,zabbix一個會發送一封郵件提醒我,當我再次打開這個服務時表示這個服務已經被修復,zabbix一個也會發一封恢復郵件。

        [root@localhost ~]# systemctl stop sshd.service #關閉被監控端的ssh服務

        在LAMP架構中部署Zabbix監控系統及郵件報警機制
        接著便會收到郵件信息了:
        在LAMP架構中部署Zabbix監控系統及郵件報警機制

        [root@localhost ~]# systemctl start sshd.service #我再次開啟被監控端的SSH服務

        在LAMP架構中部署Zabbix監控系統及郵件報警機制

        到此為止Zabbix監控系統就搭建完成了。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲AV午夜福利精品一区二区| 少妇人妻偷人精品无码视频| 综合国产精品第一页| 久久精品国产只有精品2020| 无码精品视频一区二区三区| 狠狠精品久久久无码中文字幕| 国产精品电影在线观看| 日韩精品人妻系列无码专区免费| 精品乱码久久久久久夜夜嗨| 日本人精品video黑人| 国产成人精品无码一区二区| 亚洲日韩精品一区二区三区无码 | 久久99热这里只有精品国产| 日本精品久久久中文字幕| 国产精品影音先锋| 国产精品99久久精品| www.亚洲精品| 69久久夜色精品国产69| 久久久久久国产精品免费无码| 亚洲精品国产高清嫩草影院| 久久亚洲精品无码观看不卡| 国产欧美在线观看精品一区二区| 99久久人人爽亚洲精品美女| 午夜精品久视频在线观看| 国产精品视频久久久| 国内精品久久国产大陆| 国产精品视频一区二区噜噜| 精品视频无码一区二区三区| 精品一区二区三区无码免费视频| 亚洲AV无码久久精品成人| 亚洲国产精品无码久久一区二区| 青草青草久热精品视频在线观看| 久久久精品久久久久久 | 伊人久久精品无码av一区| 少妇亚洲免费精品| 日韩欧美一区二区三区中文精品 | 91精品国产91久久综合| 99精品久久精品一区二区| 欧美精品一区二区三区视频| 亚洲精品你懂的| 国产精品一区三区|