Zabbix5.0LTS+grafana-enterprise-8.3安裝和配置

Zabbix5.0LTS+grafana-enterprise-8.3安裝和配置

1. Zabbix介紹

1.1 Zabbix簡介

Zabbix是由 Alexei Vladishev 創(chuàng)建匾荆,目前是由 Zabbix SIA 在持續(xù)開發(fā)和提供支持。

Zabbix是一種企業(yè)級的分布式開源監(jiān)控解決方案蚜厉。

Zabbix是一款能夠監(jiān)控眾多網(wǎng)絡(luò)參數(shù)和服務(wù)器的健康度和完整性的軟件懦底。Zabbix 使用靈活的通知機制证膨,允許用戶為幾乎任何事件配置基于郵件的報警吊奢。支持推送到釘釘页滚、微信等應(yīng)用铺呵。

Zabbix支持輪詢和被動捕獲。所有的 Zabbix 報告片挂、統(tǒng)計信息和配置參數(shù)都可以通過基于 Web 的前端頁面進行訪問幻林。

Zabbix5.0中文官方參考鏈接:https://www.zabbix.com/documentation/5.0/zh/manual

1.2 Zabbix常用術(shù)語

1.主機(host):

你想要監(jiān)控的聯(lián)網(wǎng)設(shè)備,有IP/DNS宴卖。

2.主機組(host group):

主機的邏輯組滋将;可能包含主機和模板。一個主機組里的主機和模板之間并沒有任何直接的關(guān)聯(lián)症昏。通常在給不同用戶組的主機分配權(quán)限時候使用主機組随闽。

3.監(jiān)控項(item):

你想要接收的主機的特定數(shù)據(jù),一個度量/指標數(shù)據(jù)肝谭。

4.值預(yù)處理(value preprocessing):

轉(zhuǎn)化/預(yù)處理接收到的指標數(shù)據(jù) 存入數(shù)據(jù)庫之前掘宪。

5.觸發(fā)器(trigger):

一個被用于定義問題閾值和“評估”監(jiān)控項接收到的數(shù)據(jù)的邏輯表達式,當接收到的數(shù)據(jù)高于閾值時攘烛,觸發(fā)器從“OK”變成“Problem”狀態(tài)魏滚。當接收到的數(shù)據(jù)低于閾值時,觸發(fā)器保留/返回“OK”的狀態(tài)坟漱。

6.事件(event):

一次發(fā)生的需要注意的事情鼠次,例如觸發(fā)器狀態(tài)改變腥寇、發(fā)現(xiàn)/監(jiān)控代理自動注冊赦役。

7.事件關(guān)聯(lián)(event correlation):

自動靈活的术羔、精確的關(guān)聯(lián)問題和解決方案,你可以定義觸發(fā)器A告警的異常可以由觸發(fā)器B解決扛禽,觸發(fā)器B可能采用完全不同的數(shù)據(jù)采集方式。

8.異常(problems):

一個處在“異称。”狀態(tài)的觸發(fā)器。

9.異常更新(problem update):

Zabbix提供的問題管理選項嚷堡,例如添加評論、確認異常、改變問題級別或者手動關(guān)閉等友鼻。

10.動作(action):

預(yù)先定義的應(yīng)對事件的操作,一個動作由操作(例如發(fā)出通知)和條件(什么時間進行操作)組成。

11.升級(escalation):

一個在動作內(nèi)執(zhí)行操作的自定義方式; 發(fā)送通知/執(zhí)行遠程命令的順序安排蔗衡。

12.媒介(media):

發(fā)送告警通知的方式;傳送途徑济蝉。

13.通知(notification):

關(guān)于事件的信息,將通過選設(shè)定的媒介途徑發(fā)送給用戶雁乡。

14.遠程命令(remote command):

一個預(yù)定義好的悠抹,滿足特定條件的情況下啤挎,可以在被監(jiān)控主機上自動執(zhí)行的命令。

15.模版(template):

一組可以被應(yīng)用到一個或多個主機上的實體(監(jiān)控項掏觉,觸發(fā)器,圖形,聚合圖形羊娃,應(yīng)用邮利,LLD,Web場景)的集合方庭。

16.應(yīng)用(application):

一組監(jiān)控項組成的邏輯分組。

17.Web場景(web scenario):

檢查網(wǎng)站可瀏覽性的一個或多個HTTP請求。

18.前端(frontend):

Zabbix提供的web界面欺殿。

19.Zabbix API:

Zabbix API允許用戶使用JSON RPC協(xié)議來創(chuàng)建、更新和獲取Zabbix對象(如主機、監(jiān)控項亦歉、圖形和其他)信息或者執(zhí)行任何其他的自定義的任務(wù)。

20.加密(encryption):

支持Zabbix組件之間的加密通訊(server, proxy, agent, zabbix_sender 和 zabbix_get 程序) 使用TLS(Transport Layer Security )協(xié)議赛蔫。

1.3 Zabbix功能

1.數(shù)據(jù)采集:

可用性和性能采集媚创。

支持SNMP(包括主動輪詢和被動捕獲)晌姚、IPMI、JMX宝磨、VMware 監(jiān)控别瞭。

自定義檢查晒衩。

按照自定義的時間間隔采集需要的數(shù)據(jù)。

通過Server/Proxy 和 Agents 來執(zhí)行數(shù)據(jù)采集。

2.靈活的閾值定義:

可以定義非常靈活的告警閾值浪漠,稱之為觸發(fā)器,觸發(fā)器從后端數(shù)據(jù)庫獲得參考值必盖。

3.高度可配置化的告警:

可以根據(jù)遞增計劃、接收者、媒介類型自定義發(fā)送告警通知嬉探。

使用宏變量可以使告警通知變得更加高效有益眷蜓。

自動動作包含遠程命令。

4.實時圖形:

使用內(nèi)置圖形功能可實以將監(jiān)控項繪制成圖形。

5.Web監(jiān)控功能:

Zabbix可以追蹤模擬鼠標在 Web 網(wǎng)站上的點擊操作蕴坪,來檢查 Web 網(wǎng)站的功能和響應(yīng)時間。

6.豐富的可視化選項:

能夠創(chuàng)建可以將多個監(jiān)控項組合到單個視圖中的自定義圖形。

網(wǎng)絡(luò)拓撲圖挺狰。

以儀表盤樣式展示自定義聚合圖形和幻燈片演示。

報表瞳购。

監(jiān)控資源的高層次(業(yè)務(wù))視圖吞杭。

7.歷史數(shù)據(jù)存儲:

存儲在數(shù)據(jù)庫中的數(shù)據(jù)绢掰。

可配置的歷史數(shù)據(jù)。

內(nèi)置數(shù)據(jù)管理機制(housekeeping)鲁捏。

8.配置簡單:

將被監(jiān)控設(shè)備添加為主機。

主機一旦添加到數(shù)據(jù)庫中虎谢,就會采集主機數(shù)據(jù)用于監(jiān)控擎场。

將模板用于監(jiān)控設(shè)備。

9.套用模板:

在模板中分組檢查。

模板可以關(guān)聯(lián)其他模板矾策,獲得繼承。

10.網(wǎng)絡(luò)發(fā)現(xiàn):

自動發(fā)現(xiàn)網(wǎng)絡(luò)設(shè)備。

Zabbix Agent發(fā)現(xiàn)設(shè)備后自動注冊地粪。

自動發(fā)現(xiàn)文件系統(tǒng)、網(wǎng)絡(luò)接口和SNMP OIDs 值聊品。

11.快捷的 Web 界面:

基于PHP 的 Web 前端。

可以從任何地方訪問(網(wǎng)絡(luò)可達)。

可以定制自己的操作方式厘贼。

審計日志。

12.Zabbix API:

Zabbix API為 Zabbix 提供可編程接口岳掐,用于批量操作、第三方軟件集成和其他用途纲酗。

13.權(quán)限管理系統(tǒng):

安全的用戶身份驗證。

將特定用戶限制于訪問特定的視圖。

14.功能強大且易于擴展的 Zabbix Agent:

部署于被監(jiān)控對象上规脸。

完美支持Linux 和 Windows 。

15.二進制守護進程:

為了更好的性能和更少的內(nèi)存占用,采用C 語言編寫堕花。

便于移植呻粹。

16.適應(yīng)更復(fù)雜的環(huán)境:

使用Zabbix Proxy 代理,可以輕松實現(xiàn)分布式遠程監(jiān)控 伴榔。

1.4 Zabbix組件

1.SERVER:

Zabbix server是整個 Zabbix 軟件的核心程序塘安。

Zabbix Server負責執(zhí)行數(shù)據(jù)的主動輪詢和被動獲取,計算觸發(fā)器條件砸脊,向用戶發(fā)送通知。

Zabbix Server的功能可拆分為:Zabbix server瞳抓、Web前端和數(shù)據(jù)庫。

Zabbix的所有配置信息都存儲在 Server 和Web前端進行交互的數(shù)據(jù)庫中横蜒。

Zabbix server需要 UTF-8 語言環(huán)境。

Zabbix server允許使用非 root 用戶運行。

如果Zabbix server 和 agent 均運行在同一臺服務(wù)器上,建議您使用不同的用戶運行 server和agent智哀。

2.數(shù)據(jù)庫:

所有配置信息以及Zabbix 收集到的數(shù)據(jù)都被存儲在數(shù)據(jù)庫中送巡。

Zabbix支持 SQLite、MySQL和PostgreSQL 作為數(shù)據(jù)庫煮寡,使用 Oracle 或 DB2 需要您承擔一定的風險外臂,例如挑童,在自動發(fā)現(xiàn)規(guī)則中遇到的返回值問題 菇民。

3.WEB界面:

為了從任何地方和任何平臺輕松訪問Zabbix 阔馋,我們提供了基于 web 的界面下梢。該界面是 Zabbix server 的一部分,通常(但不一定)和 Zabbix server 運行在同一臺物理機器上辆琅。

4.PROXY:

Zabbix proxy可以替 Zabbix server 收集性能和可用性數(shù)據(jù)暇屋。Zabbix proxy 是 Zabbix 環(huán)境部署的可選部分率碾;它對于單個 Zabbix server 負載的分擔是非常有益的。

5.AGENT:

Zabbix agent部署在被監(jiān)控目標上屋彪,以主動監(jiān)控本地資源和應(yīng)用程序(硬盤所宰、內(nèi)存、處理器統(tǒng)計信息等)畜挥。

Zabbix agent收集本地的操作信息并將數(shù)據(jù)報告給 Zabbix server 用于進一步處理。一旦出現(xiàn)異常 (例如硬盤空間已滿或者有崩潰的服務(wù)進程)麦向,Zabbix server 會主動警告管理員指定機器上的異常。

Zabbix agent可以運行被動檢查和主動檢查送挑。

在被動檢查模式中agent 應(yīng)答數(shù)據(jù)請求惭缰。Zabbix server(或 proxy)詢求數(shù)據(jù)腐芍,例如 CPU load,然后 Zabbix agent 返還結(jié)果膀跌。

主動檢查處理過程將相對復(fù)雜熄诡。Agent 必須首先從 Zabbix sever 索取監(jiān)控項列表以進行獨立處理康栈,然后會定期發(fā)送采集到的新值給 Zabbix server践叠。

Zabbix agent同樣需要 UTF-8 語言環(huán)境。

6.數(shù)據(jù)流:

為了創(chuàng)建一個采集數(shù)據(jù)的監(jiān)控項,您就必須先創(chuàng)建主機柳刮。其次,必須有一個監(jiān)控項來創(chuàng)建觸發(fā)器。最后,您必須有一個觸發(fā)器來創(chuàng)建一個動作基矮,這幾個點構(gòu)成了一個完整的數(shù)據(jù)流。如果您想要收到CPU load it too high on Server X 的告警,您必須首先為 Server X 創(chuàng)建一個主機條目,其次創(chuàng)建一個用于監(jiān)視其 CPU 的監(jiān)控項达罗,最后創(chuàng)建一個觸發(fā)器吊洼,用來觸發(fā) CPU is too high 這個動作蕉扮,并將其發(fā)送到您的郵箱里尉咕。

7. JAVA GATEWAY:

從Zabbix 2.0 開始,以 Zabbix 守護進程方式原生支持監(jiān)控 JMX 應(yīng)用程序就存在了。該組件便于監(jiān)控一些常用的中間件车摄,例如:Weblogic巩梢、Tomcat、WebSphere等西潘。不需要安裝額外的軟件,只需要在中間件啟動時添加相關(guān)參數(shù)即可别渔。

8.SENDER:

Zabbix sender是一個命令行應(yīng)用程序,可用于將性能數(shù)據(jù)發(fā)送到 Zabbix server 進行處理。

該實用程序通常用于長時間運行的用戶腳本冈止,用于定期發(fā)送可用性和性能數(shù)據(jù)狂票。

要將結(jié)果直接發(fā)送到Zabbix server 或 proxy,必須配置 trapper 監(jiān)控項 類型熙暴。

9.GET:

Zabbix get是一個命令行應(yīng)用闺属,它可以用于與 Zabbix agent 進行通信,并從 Zabbix agent 那里獲取所需的信息周霉。

該應(yīng)用通常被用于Zabbix agent 故障排錯掂器。

10. JS:

zabbix_js是一個命令行實用程序,可用于嵌入腳本測試俱箱。

該程序可執(zhí)行帶有字符串參數(shù)的用戶自定義腳本并打印結(jié)果国瓮。腳本的執(zhí)行是由內(nèi)嵌的Zabbix腳本引擎來完成的。

在編譯或執(zhí)行錯誤的情況下狞谱,zabbix_js將在stderr中打印錯誤并以代碼1退出乃摹。

[if !supportLists]2.?[endif]?Zabbix5.0LTS安裝和配置

2.1 安裝Zabbix5.0LTS

##Zabbix5.0LTS+Centos7.9+mysql8.0.27+Nginx1.16安裝

1. 系統(tǒng)環(huán)境

?IP角色版本

172.16.1.51zabbix-serverzabbix-server-5.0.18

172.16.1.51zabbix-agentzabbix-server-5.0.18

172.16.1.51mysqlmysql8.0.27

172.16.1.51nginxnginx-1.16.1

172.16.1.51grafana-enterprisegrafana-enterprise-8.3.1

172.16.1.161zabbix-agentzabbix-server-5.0.18

172.16.1.161tomcatapache-tomcat-8.5.73

172.16.1.128zabbix-agentzabbix-server-5.0.18

172.16.1.128WebLogicWebLogic12C

2. 軟件要求

https://www.zabbix.com/documentation/5.0/manual/installation/requirements

3. rpm包安裝Zabbix5.0

##安裝參數(shù):https://www.zabbix.com/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=nginx

##Install Zabbix repository

#rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

#yum clean all

##Install Zabbix server and agent

#yum install zabbix-server-mysql zabbix-agent

###Install Zabbix frontend

##Enable Red Hat Software Collections

#yum install centos-release-scl

##Edit file /etc/yum.repos.d/zabbix.repo and enable zabbix-frontend repository.

#vim /etc/yum.repos.d/zabbix.repo

[zabbix-frontend]

...

enabled=1

...

##Install Zabbix frontend packages.

#yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl

2.2 安裝數(shù)據(jù)庫

2.2.1安裝MariaDB-server-10.2.41

##卸載舊版本

#rpm -qa | grep mariadb

#rpm -e mariadb-libs-5.5.65-1.el7.x86_64 --nodeps

#rpm -qa | grep mariadb

##配置yum源

vim?/etc/yum.repos.d/mariadb.repo

# MariaDB 10.2 CentOS repository list - created 2021-12-03 13:49 UTC

# https://mariadb.org/download/

[mariadb]

name = MariaDB

baseurl = https://mirror.rackspace.com/mariadb/yum/10.2/centos7-amd64

gpgkey=https://mirror.rackspace.com/mariadb/yum/RPM-GPG-KEY-MariaDB

gpgcheck=1

##安裝mariadb

#yum install MariaDB-server MariaDB-client

systemctl start mariadb

##以默認的空密碼登錄

#mysql -uroot -p

##修改root的密碼為root123

MariaDB [(none)]> use mysql;

MariaDB [mysql]> update user set password=password('root123') where user='root';

MariaDB [(none)]> flush privileges;

##一般不用配置 mariadb的時區(qū),它默認使用操作系統(tǒng)的時區(qū)跟衅,只要操作系統(tǒng)的時區(qū)配置好就行了孵睬。

#vi /etc/my.cnf

default-time-zone='+8:00'

#systemctl restart mariadb

2.2.2 安裝mysql8.0.27

##下載repo,可能需要曲線下載后再上傳到服器

#wget https://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm

#yum localinstall mysql80-community-release-el7-4.noarch.rpm

##卸載舊版本

#rpm -qa | grep mariadb

#rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps

#rpm -qa | grep mariadb

##安裝mysql,注意要安裝上mysql-community-libs-compat這個包伶跷,因為它提供了zabbix需要的低版本的libmysqlclient.so.18這個庫文件

#yum install mysql-community-server mysql-community-client mysql-community-libs-compat

##初始化

#mysqld --initialize

#chown mysql:mysql /var/lib/mysql -R

##啟動mysql

#systemctl start mysqld.service

##如果啟動失敗肪康,則執(zhí)行rm -rf /var/lib/mysql后再執(zhí)行初始化的那兩步

#systemctl status mysqld

#systemctl enable mysqld

##查看隨機密碼并第一次登錄

#cat /var/log/mysqld.log | grep password

#mysql -uroot -p

##修改root的密碼

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';

##從MySQL 8.0.4開始, 默認的認證插件從mysql_native_password 變?yōu)閏aching_sha2_password.可通過下面命令查看某用戶使用的是哪個插件荚恶。

mysql> use mysql;

mysql> select user,host,plugin from user;

##查看此mysql版本支持了哪些插件

mysql> show plugins;

##如果要換回mysql_native_password。

#ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root123';

##可選的磷支,進行遠程訪問的授權(quán)(使用的是mysql_native_password密碼驗證方式)

mysql>create user 'root'@'%' identified with mysql_native_password by 'root123';

mysql>grant all privileges on *.* to 'root'@'%' with grant option;

mysql>flush privileges;

##可選的谒撼,進行遠程訪問的授權(quán)(使用的是caching_sha2_password密碼驗證方式)

mysql>create user 'root'@'%' identified with caching_sha2_password by 'root123';

mysql>grant all privileges on *.* to 'root'@'%' with grant option;

mysql>flush privileges;

##可選的設(shè)置時區(qū),默認情況下雾狈,mysql使用其上的OS的時區(qū)

#vi /etc/my.cnf

default-time-zone='+8:00'

#systemctl restart mysqld

##查看mysql使用的時區(qū)

mysql>show variables like '%time_zone%'廓潜;

##查看mysql當前的時間

mysql>select now();

2.2.3 導(dǎo)入zabbix數(shù)據(jù)表

#myssql -uroot -p

mysql> create database zabbix character set utf8 collate utf8_bin;

##如果是mariadb

mysql> create user zabbix@localhost identified by 'zabbix';

mysql> grant all privileges on zabbix.* to zabbix@localhost;

##為數(shù)據(jù)庫zabbix增加%用戶,是因為頁面安裝zabbix時需要善榛。

mysql> create user zabbix@’%’ identified by 'zabbix';

mysql> grant all privileges on zabbix.* to zabbix@’%’;

##如果是mysql8,則執(zhí)行如下命令辩蛋,要使用mysql_native_password插件驗證密碼(此版本zabbix不支持caching_sha2_password)并設(shè)置主機為%。

mysql> create user zabbix@localhost identified with mysql_native_password by 'zabbix';

mysql> grant all privileges on zabbix.* to zabbix@localhost;

##為數(shù)據(jù)庫zabbix增加%用戶移盆,是因為頁面安裝zabbix時需要悼院。

mysql> create user zabbix@'%' identified with mysql_native_password by 'zabbix';

mysql> grant all privileges on zabbix.* to zabbix@'%';

##On Zabbix server host import initial schema and data. You will be prompted to enter your newly created password.

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

2.2.4 配置zabbix使用數(shù)據(jù)庫,php和nginx

##Configure the database for Zabbix server

#vi?/etc/zabbix/zabbix_server.conf

DBPassword=zabbix?

DBHost=172.16.1.51

##Configure PHP for Zabbix frontend

##Edit file /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf, uncomment and set 'listen' and 'server_name' directives.

listen 80;

server_name example.com;

##Edit file /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf, add nginx to listen.acl_users directive.

listen.acl_users = apache,nginx

##Then uncomment and set the right timezone for you.

; php_value[date.timezone] = Europe/Riga

php_value[date.timezone] = Asia/Shanghai

##Start Zabbix server and agent processes

##Start Zabbix server and agent processes and make it start at system boot.

# systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

# systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

2.2.5 頁面安裝zabbix

##Connect to your newly installed Zabbix frontend: http://server_ip_or_name

http://172.16.1.51

##web配置zabbix

下一步

下一步

下一步

完成

用戶名/密碼:Admin/zabbix

##查看zabbix server日志

#tailf /var/log/zabbix/zabbix_server.log

##設(shè)置Web界面支持中文

Administration-->users-->Admin-->Language-->

2.2.6 zabbix agent客戶端安裝

##在172.16.1.161上

# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

# yum install zabbix-agent

# vim /etc/zabbix/zabbix_agentd.conf

##要允許zabbix-server訪問

Server=172.16.1.51

##zabbix-agent的主機名

Hostname=172.16.1.161

##手動添加agent

此處主機名稱要與Agentd.conf配置文件中的Hostname保持一致,否則會報錯;Agent

最后點添加,添加個模板咒循,后面可編輯或增加其他模板据途。

2.2.7 Zabbix自動發(fā)現(xiàn)

2.2.7.1 設(shè)置zabbix-agent

##注意,先決條件是agent端/etc/zabbix/zabbix_agentd.conf中要配置Server=172.16.1.51

和Hostname=172.16.1.161這兩行。

2.2.7.2 創(chuàng)建發(fā)現(xiàn)規(guī)則

##配置->自動發(fā)現(xiàn)->創(chuàng)建發(fā)現(xiàn)規(guī)則

2.2.7.3 創(chuàng)建發(fā)現(xiàn)后的動作

##配置-- >動作-->Discovery actions

主要指定了ABC三個條件叙甸。

##指定發(fā)現(xiàn)后加入到主機群組

指定發(fā)現(xiàn)后關(guān)聯(lián)模板颖医。

2.2.7.4 自動發(fā)現(xiàn)測試

##過一會就能看到發(fā)現(xiàn)的主機了

2.2.8 zabbix自動注冊

2.2.8.1 設(shè)置zabbix-agent

##配置文件只需要2行。并注釋Hostname=Zabbix server行(因為Hostname可不配置裆蒸,如果不配置熔萧,它由HostnameItem決定,而HostnameItem的默認值是HostnameItem=system.hostname)僚祷。

vim /etc/zabbix/zabbix_agentd.conf

Server=172.16.1.51

ServerActive=172.16.1.51

#Hostname=Zabbix server

2.2.8.2 配置動作

##主機名匹配wls或pvi

注意:是匹配wls或pvi不是包含佛致。如果其他主機名不符合這里的名稱,則再添加辙谜,計算方式為“或”晌杰。


2.2.9 配置Zabbix郵件報警

2.2.9.1創(chuàng)建媒介

1. 創(chuàng)建腳本媒介

注:實現(xiàn)發(fā)郵件功能,使用第三方(自己的)的郵件服務(wù)器筷弦,這個不推薦肋演,復(fù)雜些。

##如果用第三方(自己的)郵件地址:

vim /etc/mail.rc,最后添加

(set ?from=libinglin@126.com

set ?smtp=smtp.126.com

set ?smtp-port=994

set ?smtp-auth-user=libinglin@126.com

set ?smtp-auth-password=shouquanma,#這里是授權(quán)碼,不是登錄密碼烂琴。

set ?smtp-auth=login)

##測試:

#yum ?install mailx -y

#echo "test" | mail -s 'test linux 20211207' ?libinglin@126.com,保證能測試成功.

##編寫郵件腳本:

#vim /usr/lib/zabbix/alertscripts/sendmail.sh

(#!/bin/bash

# export LANG=zh_CN.UTF-8

to=$1

subject=$2

body=$3

FILE=/tmp/mailtmp.txt

echo "$3" >$FILE

dos2unix -k $FILE

/bin/mail -s "$2" $1 < $FILE)

# touch /tmp/mailtmp.txt

# chown ?zabbix.zabbix /tmp/mailtmp.txt

# chown zabbix:zabbix /usr/lib/zabbix/alertscripts/sendmail.sh ??????????????????????

# chmod 755 /usr/lib/zabbix/alertscripts/sendmail.sh ????????????????????????????????????

# ls -l /usr/lib/zabbix/alertscripts/sendmail.sh

##測試腳本

#yum install dos2unix

#sudo -H -u zabbix bash -c '/usr/lib/zabbix/alertscripts/sendmail.sh libinglin@126.com "test linux" "test my"'

[if !supportLists]2.?[endif]創(chuàng)建電子郵件媒介

注:還是使用第三方(自己的)的郵件服務(wù)器爹殊,推薦方式。

注意:密碼為郵箱的授權(quán)碼奸绷。Message format為文本(為了收到的郵件內(nèi)容能有換行)梗夸。

2.2.9.2設(shè)置用戶媒介

用戶為Admin(也可以新建一個用戶)

點擊權(quán)限,管理員不要修改,如果是新建的其他用戶,則需要修改.

2.2.9.3增加動作

##自定義消息:

主題:{TRIGGER.STATUS}:{TRIGGER.NAME}

消息:Trigger Name:{TRIGGER.NAME}

Trigger Description:{TRIGGER.DESCRIPTION}

Trigger Expression:{TRIGGER.EXPRESSION}

Trigger Status:{TRIGGER.STATUS}

Trigger Severity:{TRIGGER.SEVERITY}

Trigger URL:{TRIGGER.URL}

2.2.9.4測試

##關(guān)閉一個zabbix-agent,過幾分鐘看能不能收到郵件。

2.2.9.5排錯

##如果沒有發(fā)郵件号醉,則點失敗郵件的圖標查看原因:

3. Zabbix監(jiān)控實例

3.1 監(jiān)控WebLogic JVM狀態(tài)

1. Zabbix server或者zabbix proxy上需要安裝java gateway軟件

# yum install -y zabbix-java-gateway?????

[if !supportLists]2.?[endif]修改java gateway配置

# vi /etc/zabbix/zabbix_java_gateway.conf

START_POLLERS=5

TIMEOUT=30

3. 修改zabbix server配置

# vi /etc/zabbix/zabbix_server.conf

JavaGateway=172.16.1.51

StartJavaPollers=5

4. 重啟服務(wù)

# systemctl enable zabbix-java-gateway

# systemctl start zabbix-java-gateway

# systemctl restart zabbix-server

5. 開啟應(yīng)用服務(wù)器的JMX接口

使用jmx方式監(jiān)控weblogic JVM的狀態(tài)反症,zabbix官方給出了兩種認證方式: 1.不認證辛块,不使用SSL;2.使用ssl認證,本文采用不認證的方式

需要在應(yīng)用服務(wù)器上啟動腳本中JAVA_OPTIONS中添加以下參數(shù):

-Djava.rmi.server.hostname=172.16.1.128 \

-Dcom.sun.management.jmxremote \

-Dcom.sun.management.jmxremote.port=12345 \

-Dcom.sun.management.jmxremote.authenticate=false \

-Dcom.sun.management.jmxremote.ssl=false

說明:-Djava.rmi.server.hostname:因為應(yīng)用服務(wù)器需要使用管理網(wǎng)铅碍,所以最好指定在管理地址方式啟用JMX

-Dcom.sun.management.jmxremote:開啟JMX

-Dcom.sun.management.jmxremote.port:指定JMX的端口

-Dcom.sun.management.jmxremote.authenticate=false:不使用認證

-Dcom.sun.management.jmxremote.ssl=false:不使用SSL

注意:如果既要監(jiān)控AdminServer 又要監(jiān)控被管Server,不能直接在setDomainEnv.sh腳本中添加參數(shù)润绵,啟動會報端口被占用的錯誤。請參考第6步解決端口沖突胞谈。

6. 參數(shù)添加方式:

6.1對于監(jiān)控AdminServer的參數(shù)添加尘盼,建議在{DOMAIN_HOME}目錄下新建startWebLogic.sh,腳本示例如下:

#!/bin/sh

DOMAIN_HOME="/home/demoapp/demo_domain"

export JAVA_OPTIONS="-Djava.rmi.server.hostname=192.168.43.10 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"

nohup ${DOMAIN_HOME}/bin/startWebLogic.sh $* &

6.2對于監(jiān)控其他被管Server的參數(shù)添加烦绳,如果是啟用了Nodemanager卿捎,則可以直接添加到控制臺。如果沒有啟用Nodemanager則需要為每一個被管Server編寫腳本径密,腳本示例如下:

#!/bin/sh

DOMAIN_HOME="/home/demoapp/demo_domain"

export JAVA_OPTIONS="-Djava.rmi.server.hostname=192.168.43.10

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12346

-Dcom.sun.management.jmxremote.authenticate=false

-Dcom.sun.management.jmxremote.ssl=false"

nohup ${DOMAIN_HOME}/bin/startManagedWebLogic.sh Server1 t3://192.168.43.10:7001 &

7. 啟動被監(jiān)控的服務(wù)并驗證:

7.1運行腳本午阵,啟動被監(jiān)控的服務(wù);

7.2windows環(huán)境安裝JDK并配置環(huán)境變量享扔;

7.3驗證被監(jiān)控服務(wù)的JMX啟動情況底桂,運行cmd ---> jconsole 彈出的圖形窗口中選擇遠程進程--->輸入ip:port 點擊連接,如下圖表示已經(jīng)成功啟用了JMX伪很。


8. Zabbix控制臺添加監(jiān)控的服務(wù)器信息:

8.1編輯主機信息

配置--->主機 --->pvibsa1--->interfaces ---> 添加 JMX --->輸入IP地址:172.16.1.128 和端口號: 12345--->模板 搜索: jmx 選擇:Template App Generic JMX--->點擊 添加。

8.2檢查添加的主機的可用性

監(jiān)測---> 主機 ---> 查看新加的主機的可用性列奋单,如果JMX背景變綠色表示可用锉试。

3.2 監(jiān)控Tomcat JVM狀態(tài)

##說明:監(jiān)控Tomcat JVM 狀態(tài)與監(jiān)控WebLogic的JVM狀態(tài)類似,區(qū)別在于啟動Tomcat的JMX的參數(shù)添加览濒。本場景只介紹如何開啟Tomcat的JMX接口

1. 下載

#wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.73/bin/apache-tomcat-8.5.73.tar.gz

2. Tomcat安裝路徑: /usr/local/apache-tomcat-8.5.73

3. 編輯catalina.sh腳本

vim /usr/local/apache-tomcat-8.5.73/bin/catalina.sh

在“-Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`”后面添加呆盖,添加后的內(nèi)容如下:

JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask` -Djava.rmi.server.hostname=172.16.1.161 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"

4. 重啟Tomcat服務(wù)。 ?

5. 注意:tomcat監(jiān)控還是要使用Template App Generic Java JMX贷笛,而Template App Apache Tomcat JMX只有一個監(jiān)控項目??

3.3 監(jiān)控IBM MQ(沒實驗)

說明:監(jiān)控IBM MQ隊列管理器通道狀態(tài)应又、監(jiān)聽器狀態(tài)、隊列當前深度最大深度乏苦、隊列管理器狀態(tài)

1.自定義模板:Template App IBM MQ With Zabbix Agent.xml株扛,通過控制臺將此模板上傳到Zabbix Server;

2.編寫配置文件:userparameter_ibm_mq.conf汇荐,將此配置文件上傳到Zabbix agent服務(wù)器的 /etc/zabbix/zabbix_agentd.d 目錄下洞就;

3.編寫:discovery_mq.sh 、get_mq_status.sh 腳本掀淘,將此腳本上傳到Zabbix agent 服務(wù)器的

/etc/zabbix/scripts目錄下旬蟋;

4.為IBM MQ服務(wù)器安裝:zabbix-agent-5.0.10-1.el7.x86_64.rpm;

5.Zabbix控制臺添加 IBM MQ主機革娄,添加時選擇:Template App IBM MQ With Zabbix Agent倾贰、

Template OS Linux by Zabbix agent模板冕碟;

6.修改zabbix_agentd.conf配置文件,Server 和 ServerActive 參數(shù)的值都填寫Zabbix Server服務(wù)器的IP地址,Hostname的值填寫 在控制臺添加的IBM MQ主機的名稱匆浙;

7.重啟Zabbix-agent服務(wù):systemctl restart zabbix-agent安寺;

8.檢查添加的IBM MQ 主機中的監(jiān)控項是否存在定義的IBM MQ 的監(jiān)控項;

4. 配置grafana

4.1安裝grafana及對應(yīng)的zabbix插件

##參考:https://alexanderzobnin.github.io/grafana-zabbix/installation/

#vim /etc/yum.repos.d/grafana.repo

[grafana]

name=grafana

baseurl=https://packages.grafana.com/enterprise/rpm

repo_gpgcheck=1

enabled=1

gpgcheck=1

gpgkey=https://packages.grafana.com/gpg.key

sslverify=1

sslcacert=/etc/pki/tls/certs/ca-bundle.crt

#yum install grafana-enterprise

2.Start the server (via systemd)

# systemctl daemon-reload

# systemctl start grafana-server

# systemctl status grafana-server

3. Enable the systemd service to start at boot

#sudo systemctl enable grafana-server.service

4.參數(shù)文件

##/etc/sysconfig/grafana-server

5.日志文件

##By default Grafana will log to /var/log/grafana

6.Database

##The default configuration specifies a sqlite3 database located at /var/lib/grafana/grafana.db

7.配置文件

##the configuration file is located at /etc/grafana/grafana.ini

8.訪問

http://172.16.1.51:3000/,用戶名/密碼為:admin/admin

9.為grafana安裝zabbix插件

#grafana-cli plugins install alexanderzobnin-zabbix-app

#systemctl restart grafana-server

4.2配置grafana的zabbix插件

##參考文件:https://alexanderzobnin.github.io/grafana-zabbix/configuration/#configuration

##Configuration-->plugins-->zabbix -->enable

##Configuration-->Data sources-->zabbix -->setting

URL: http://172.16.1.51/api_jsonrpc.php

Username:Admin吞彤,Password:zabbix我衬,它們是登錄zabbix的用戶名和密碼。

##導(dǎo)入全部Dashboards

##搜索想看的Dashboard

點左側(cè)的Search Dashboards

##查看自定義面板(圖)

參考:https://alexanderzobnin.github.io/grafana-zabbix/guides/gettingstarted/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末饰恕,一起剝皮案震驚了整個濱河市挠羔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌埋嵌,老刑警劉巖破加,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異雹嗦,居然都是意外死亡范舀,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門了罪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锭环,“玉大人,你說我怎么就攤上這事泊藕「ū纾” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵娃圆,是天一觀的道長玫锋。 經(jīng)常有香客問我,道長讼呢,這世上最難降的妖魔是什么撩鹿? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮悦屏,結(jié)果婚禮上节沦,老公的妹妹穿的比我還像新娘。我一直安慰自己础爬,他們只是感情好散劫,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著幕帆,像睡著了一般获搏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天常熙,我揣著相機與錄音纬乍,去河邊找鬼。 笑死裸卫,一個胖子當著我的面吹牛仿贬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播墓贿,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼茧泪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了聋袋?” 一聲冷哼從身側(cè)響起队伟,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎幽勒,沒想到半個月后嗜侮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡啥容,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年锈颗,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咪惠。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡击吱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出遥昧,到底是詐尸還是另有隱情覆醇,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布渠鸽,位于F島的核電站叫乌,受9級特大地震影響柴罐,放射性物質(zhì)發(fā)生泄漏徽缚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一革屠、第九天 我趴在偏房一處隱蔽的房頂上張望凿试。 院中可真熱鬧,春花似錦似芝、人聲如沸那婉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽详炬。三九已至,卻和暖如春寞奸,著一層夾襖步出監(jiān)牢的瞬間呛谜,已是汗流浹背在跳。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留隐岛,地道東北人猫妙。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像聚凹,于是被迫代替她去往敵國和親割坠。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容