日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

1、Zabbix企業(yè)及監(jiān)控

 老三的休閑書屋 2020-02-14

zabbix
數據存儲
特性
zabbix組件概述
Zabbix程序構成
zabbix常用術語
YUM安裝
源碼安裝
配置文件簡介
安裝
配置外部主機監(jiān)控
快速配置一個監(jiān)控項
存儲的值
自定義監(jiān)控
自定義監(jiān)控示例
Zabbix報警
利用Django結合zabbix實現類別報警機制思路

zabbix
監(jiān)控類型:硬件、軟件、業(yè)務指標數據采集通道:ssh、agent、snmp、telnet、IPMI監(jiān)控工具:cacti、nagios、zabbix、ganglia
數據存儲
時間序列數據(根據時間的走勢進行產生的)關系型數據庫RRD:輪詢數據庫時間序列數據庫nosql
特性
數據采樣:snmp、ssh\telnet、agent、ipmi,jmx自定義檢測機制:UserParamenter自定義指定時間間隔實時繪圖展示:graph、map、screen、slide show告警:自定義腳本、notiflcation存儲:mysql、pgsql支持模板支持網絡自動發(fā)現支持API二次開發(fā)分布式監(jiān)控(server<-->proxy<-->agent)
zabbix組件概述
Zabbix Server:負責接收agent發(fā)送的報告信息的核心組件,所有配置、統(tǒng)計數據及操作數據均由其組織進行;Database Storage:專用存儲所有配置信息,以及由zabbix收集的數據;Web Interface:zabbix的GUI接口,通常與server運行在同一臺主機上;Proxy:可選組件,常用于分布式監(jiān)控環(huán)境中,代理server收集部分被監(jiān)控端的監(jiān)控數據并統(tǒng)一發(fā)往server端;Agent:部署在被監(jiān)控主機上,負責收集本地數據并發(fā)往server端或者proxy端;
Zabbix程序構成
zabbix_server:服務端守護進程;zabbix_agentd:agent端守護進行;zabbix_get:命令行工具,通常用于server端手動測試采集數據;zabbix_sender:命令行工具,通常用于agent端手動發(fā)送數據;zabbix_proxy:代理服務器,可選組件;zabbix_java_gateway:java網關,用于監(jiān)控jvm相關的信息;
zabbix常用術語
1、主機(host):監(jiān)控的網絡設備,帶有IP/DNS;2、主機組(host group):一組邏輯上的主機,或許同時包含主機和模板(template);3、監(jiān)控項(item):要監(jiān)控的主機的參數數據;4、觸發(fā)器(trigger):一組邏輯上的表達式定義了問題發(fā)生的閥值;低于閥值,狀態(tài)OK,高于閥值,狀態(tài)為有問題;5、事件(event):單個發(fā)生的值得注意的事件,比如觸發(fā)器的狀態(tài)變化,代理自動注冊;6、行為(action):預先定義的針對事件(event)的處理行為;7、報警升級(escalation):在行為中自定義的針對各種場景的操作,比如按順序發(fā)送通知/執(zhí)行遠程命令;8、媒體(media):傳送信息的渠道/途徑9、模板(template):一套定義好的實體(類別,觸發(fā)器,圖表,應用等)可用于一個或多個主機;10、代理(agent):部署在目標主機上用于監(jiān)控目標本地資源與應用的進程;11、委托(proxy):能夠替代Zabbx主機執(zhí)行收集數據的部分任務,以減輕主機的負擔;12、服務器端(server)13、發(fā)送器(sender):發(fā)送器是一個命令行工具,可以將允許的參數發(fā)送給zabbix服務端;14、收集器(get):收集器是一個用來與zabbix代理通信和接收來自代理的請求信息,通常用于zabbix代理的故障排除;
YUM安裝
1、創(chuàng)建數據庫MariaDB [(none)]> create database zabbix CHARSET utf8;MariaDB [(none)]> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'zabbix';MariaDB [(none)]> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';MariaDB [(none)]> flush privileges;2、安裝server端[root@node1 ~]# yum install -y zabbix40 zabbix40-dbfiles-mysql zabbix40-server3、導入數據[root@node1 ~]# mysql zabbix < /usr/share/zabbix-mysql/schema.sql[root@node1 ~]# mysql zabbix < /usr/share/zabbix-mysql/images.sql[root@node1 ~]# mysql zabbix < /usr/share/zabbix-mysql/data.sql4、配置文件[root@node1 etc]# grep '^[^#]' zabbix_server.confLogFile=/var/log/zabbixsrv/zabbix_server.logLogFileSize=0PidFile=/run/zabbixsrv/zabbix_server.pidSocketDir=/var/lib/zabbixsrv/tmpDBHost=localhostDBName=zabbixDBUser=zabbixDBPassword=zabbixTimeout=4AlertScriptsPath=/var/lib/zabbixsrv/alertscriptsExternalScripts=/var/lib/zabbixsrv/externalscriptsLogSlowQueries=3000TmpDir=/var/lib/zabbixsrv/tmpSSLCertLocation=/var/lib/zabbixsrv/ssl/certsSSLKeyLocation=/var/lib/zabbixsrv/ssl/keys4、安裝LAMP環(huán)境[root@node1 ~]# yum install -y php php-mysql php-mbstring php-gd php-bcmath php-ldap php-xml5、安裝web GUI[root@node1 ~]# yum install -y zabbix40-web zabbix40-web-mysql # 會自動在/etc/conf.d下面創(chuàng)建zabbix.conf訪問入口http://172.16.1.2/zabbix/setup.php默認賬號密碼是admin/zabbix6、安裝zabbix-agent[root@node1 ~]# yum install -y zabbix40-agent7、agent配置Server=127.0.0.1:被動監(jiān)控指明允許哪個服務端過來采樣;ListenPort=10050:服務端要過來采樣那么就需要監(jiān)聽在地址;StartAgents=3:相應監(jiān)控端發(fā)送監(jiān)控請求的線程;ServerActive=127.0.0.1:主動監(jiān)控服務端的IP;Hostname=node1:要給服務端報告信息得告訴服務端自己是誰;RefreshActiveChecks=120:多長時間刷新監(jiān)控;
源碼安裝配置文件簡介
# 配置文件簡介ListenPort:Server端監(jiān)聽的端口;LogType:日志類型,默認為file;LogFile:日志文件路徑;LogFileSize:日志文件最大多大,0為關閉日志,1為無上限,具體查看配置文件介紹;DebugLevel:日志級別,默認為3;PidFile:pid文件路徑;SocketDir:存儲zabbix-server啟動的sock文件存儲路徑;DBHost:數據庫主機IP;DBPort:數據庫端口;DBSocket:數據庫sock文件地址;DBName:數據庫名;DBUser:數據庫用戶;DBPassword:數據庫密碼;
安裝
# 安裝所需要的組件[root@node1 ~]# yum install httpd mariadb mariadb-server php php-mysql php-devel php-xml php-bcmath php-mbstring php-gd wget expect net-snmp gcc mysql-devel libxml2-devel net-snmp-devel libevent-devel curl-devel -y# 創(chuàng)建運行用戶[root@node1 ~]# groupadd --system zabbix[root@node1 ~]# useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c 'Zabbix Monitoring System' zabbix# 編譯安裝[root@node1 zabbix-4.0.12]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2[root@node1 zabbix-4.0.12]# make -j 4[root@node1 zabbix-4.0.12]# make install[root@node1 ~]# chown zabbix:zabbix /usr/local/zabbix/ -R# 創(chuàng)建初始化數據[root@node1 ~]# mysql -uroot -e 'create database zabbix character set utf8 collate utf8_bin;'[root@node1 ~]# mysql -uroot -e 'grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';'[root@node1 ~]# mysql -uroot -e 'flush privileges;'[root@node1 ~]# mysql -uzabbix -pzabbix zabbix < /usr/local/src/zabbix-4.0.12/database/mysql/schema.sql[root@node1 ~]# mysql -uzabbix -pzabbix zabbix < /usr/local/src/zabbix-4.0.12/database/mysql/images.sql[root@node1 ~]# mysql -uzabbix -pzabbix zabbix < /usr/local/src/zabbix-4.0.12/database/mysql/data.sql# server基礎配置[root@node1 ~]# grep '^[^#]' /usr/local/zabbix/etc/zabbix_server.confLogFile=/tmp/zabbix_server.logDBHost=localhostDBName=zabbixDBUser=zabbixDBPassword=zabbixTimeout=4LogSlowQueries=3000# 配置server和agent啟動腳本[root@node1 ~]# cp /usr/local/src/zabbix-4.0.12/misc/init.d/fedora/core/zabbix_server /etc/init.d/[root@node1 ~]# cp /usr/local/src/zabbix-4.0.12/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/# 配置前端[root@node1 ~]# cp -r /usr/local/src/zabbix-4.0.12/frontends/php/* /var/www/html/[root@node1 ~]# chown apache:apache /var/www/html -R# 配置中文[root@node1 ~]# mv simkai.ttf /var/www/html/assets/fonts/[root@node1 ~]# cat -n /var/www/html/include/defines.inc.php|grep 'simkai'71 define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name112 define('ZBX_FONT_NAME', 'simkai');
配置外部主機監(jiān)控
# 創(chuàng)建運行用戶[root@node1 ~]# groupadd --system zabbix[root@node1 ~]# useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c 'Zabbix Monitoring System' zabbix# 安裝客戶端[root@node1 zabbix-4.0.12]# ./configure --prefix=/usr/local/zabbix --enable-agent[root@node1 zabbix-4.0.12]# make -j 4[root@node1 zabbix-4.0.12]# make install[root@node2 ~]# chown zabbix:zabbix /usr/local/zabbix/ -R# agent基礎配置[root@node2 zabbix]# grep '^[^#]' etc/zabbix_agentd.confLogFile=/tmp/zabbix_agentd.logServer=172.16.1.2 # 允許主動監(jiān)控的serverServerActive=172.16.1.2 # 允許被動監(jiān)控的serverHostname=172.16.1.3 # 在zabbix-server顯示的主機名稱# 配置agent啟動腳本[root@node1 ~]# cp /usr/local/src/zabbix-4.0.12/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
快速配置一個監(jiān)控項
主機組->主機->應用->監(jiān)控項->觸發(fā)器(生成事件)->注冊操作
存儲的值
As is:不對數據做任何處理;Delta(simple change):本次采樣的數據減去前一次采樣的數據;Delta(speed per second):本次采樣的數據減去前次采樣的數據,并且除以經過時長,速率數據;
自定義監(jiān)控自定義監(jiān)控示例
# 編寫agent端監(jiān)控腳本[root@node2 ]# cat /data/scripts/hostname.sh case $1 incce) echo $HOSTNAME;;esac# 加入監(jiān)控項[root@node2 ]# grep '^Include' zabbix_agentd.confInclude=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf[root@node2 ]# cat /usr/local/zabbix/etc/zabbix_agentd.conf.d/zabbix.conf UserParameter=hostname[*],/data/scripts/hostname.sh $1# [*]:表示接受傳過來的所有參數# 在server端測試監(jiān)控[root@node1 ~]# /usr/local/zabbix/bin/zabbix_get -s 172.16.1.3 -k 'hostname[cce]'node2.cce.com
Zabbix報警
    第一步應該是觸發(fā)器,第二步是報警媒介,第三步是用戶

1、Zabbix企業(yè)及監(jiān)控

利用Django結合zabbix實現類別報警機制思路
因為zabbix的actions可以有步驟的觸發(fā)相應的事件,那么我們就可以利用這個特點來做當首次觸發(fā)的時候我們可以執(zhí)行遠程命令,第二次觸發(fā)的時候可以發(fā)送郵件腳本,第三次觸發(fā)的時候我們可以利用python調用阿里云的電話接口給相應的技術人員打電話,這兩個通知的事件通過用戶組的組名來區(qū)別;

注意點:在創(chuàng)建新的用戶的時候,創(chuàng)建的新用戶需要加入組,并且組的權限要對所有群組至少有讀的權限,否則該用戶將無法接收到報警信息

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多