zabbix简单的原理以及zabbix的部署
常用的監控
-
nagios 圖形不夠美觀,一般結合cacti使用,他是一個開源的網絡監控報警服務,在系統出現故障時,會在第一時間內,以各種方式(微信,郵件,短信,釘釘)通知運維人員,可以充分發揮自動化運維,可以減少人力資源,節約成本.
-
cacti的監控是輪詢監控,當數據量較大時,效率會比較低,如果數據時,也不會檢測,不會通知運維人員數據出現了有異常
-
ganglia 是一個開源的監視集群項目,主要用來監控cpu,內存,硬盤利用率,i/o負載,網絡監控的流量,分配系統的資源,提高系統的整體性能
-
zabbix 基于web頁面的提供分布式系統監控頁面,是一個開源的網絡監控頁面,支持主動輪詢和被動捕獲,所有的報告,統計信息和配置參數都可以通過基于web的前端頁面進行訪問,主動和被動都是針對與客戶端,告警的方式:微信 釘釘 郵件 短信
簡而言之:
zabbix圖形化界面美觀
支持分布式監控,能監控的agent多,有圖形的配置界面,有自動發現的功能,支持多種方式
對比
zabbix和nagios都是并發監控,所以對cpu的性能比較高
**zabbix 優點:**開源的,圖形化界面美觀,支持分布式集中管理,監控的代理多,支持的多,可以有自動發現的功能,實現自動化,開放式接口,擴展性強,api的支持,方便與其他的系統結合
缺點: 對cpu的性能要求高,所有的數據都在數據庫內部,產生數據很大時,瓶頸在數據庫.
被動方式和主動方式的區別
被動方式:相對于agent而言,由server向agent請求獲取各個配置的監控項目.agent接受完請求之后,獲取數據,在返回給server.
主動方式:對于agent來說,由agent向server請求與他本身相關的監控項目,處理完成之后,返回給server.主動監控能節約server的資源.
被動檢查:agent應答數據的請求,server向agent詢問數據,agent返回結果.
主動檢查:由agent主動從server了解監控的列表進行單獨處理,處理完畢之后返回給server.
zabbix的部署
準備三臺機器,一臺是監控的服務器,兩臺作為監控的節點,環境干凈,防火墻,selinux關閉,yum可以使用.網絡暢通.
安裝yum倉庫
[root@zabbix ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm更新yum倉庫
[root@zabbix ~]# yum repolist安裝zabbix server ang agent
安裝zabbix前端
[root@zabbix ~]# yum -y install centos-release-scl開啟前端的安裝源倉庫的配置
[root@zabbix ~]# vim /etc/yum.repos.d/zabbix.repo [zabbix-frontend] ... enabled=1 ...安裝zabbix
2 安裝數據庫
1.創建mariadb.repo
[root@zabbix ~]# vim /etc/yum.repos.d/mariadb.repo [mariadb] name = MariaDB baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.5/centos7-amd64 gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck=12、yum 安裝最新版本 mariadb
[root@zabbix ~]# yum install -y MariaDB-server MariaDB-clien3、修改配置文件
[root@zabbix ~]# vim /etc/my.cnf.d/server.cnf[mysqld]skip_name_resolve = ON # 跳過主機名解析innodb_file_per_table = ON # 開啟獨立表空間innodb_buffer_pool_size = 256M # 緩存池大小max_connections = 2000 # 最大連接數log-bin = master-log # 開啟二進制日志4、重啟數據庫服務
[root@zabbix ~]# systemctl restart mariadb [root@zabbix ~]# mysql_secure_installation # 初始化mariadb5、創建數據庫并授權賬號
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; # 創建zabbix數據庫 MariaDB [(none)]> grant all on zabbix.* to 'zabbix'@'192.168.152.%' identified by '1234.com'; # 注意授權網段 MariaDB [(none)]> flush privileges; # 刷新授權6、導入 Zabbix 服務表
使用 create.sql.gz 生成所需要的表
[root@zabbix ~]# gzip -d /usr/share/doc/zabbix-server-mysql-5.0.2/create.sql.gz #解壓包 [root@zabbix ~]# mysql -uzabbix -h192.168.37.111 -p'1234.com' zabbix < /usr/share/doc/zabbix-server-mysql-5.0.2/create.sql #導入數據 [root@zabbix ~]# mysql -uzabbix -h192.168.37.111 -p'1234.com' MariaDB [(none)]> show databases; #登錄數據庫,并查看表,有166個表,說明導入成功,若沒有導入成功,可以產出之前的庫,進入數據庫,重新導入,執行下邊這條命令. [root@zabbix ~]# mysql -uzabbix -h192.168.37.111 -p'1234.com'source /use/share/doc/zabbix-server-mysql-5.0.2/create.sql.gz > create.sql三 配置server
[root@zabbix ~]# cd /etc/zabbix/ 備份配置文件 [root@zabbix zabbix]# ls web zabbix_agentd.conf zabbix_agentd.d zabbix_server.conf #為了方便我們以后恢復,我們把配置文件備份一下 [root@zabbix zabbix]# cp zabbix_server.conf{,.bak} [root@zabbix zabbix]# vim zabbix_server.conf ListenPort=10051 # 默認監聽端口 SourceIP=192.168.37.111 # 發采樣數據請求的 IP 打開日志的類型 logtype=file數據庫的相關配置
DBHost=192.168.37.111 #數據庫對外的主機DBName=zabbix #數據庫名稱DBUser=zabbix #數據庫用戶DBPassword=zabbix #數據庫密碼DBPort=3306 #數據庫啟動端口有些已經同步好的便不用在修改了
啟動服務
[root@zabbix zabbix]# systemctl start zabbix-server.service查看端口
[root@zabbix zabbix]# ss -nutl |grep 10051 tcp LISTEN 0 128 *:10051 *:* #ipv4的端口 tcp LISTEN 0 128 :::10051 :::* #ipv6的端口配置web GUI
[root@zabbix ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf最后一行: php_value[date.timezone] = Asia/Shanghai啟動httpd服務
[root@qfedu.com ~]# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm [root@qfedu.com ~]# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm進入瀏覽器訪問
http://192.168.122.166/zabbix
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-CUKmtc90-1600692748973)(/home/afang/文檔/第三階段/第四周/監控平臺部署及應用/assets/1204916-20171202111651776-1822649685.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-F6eXdIqk-1600692748975)(/home/afang/文檔/第三階段/第四周/監控平臺部署及應用/assets/1204916-20171202111703448-1933168823.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-FvJNbfMx-1600692748978)(/home/afang/文檔/第三階段/第四周/監控平臺部署及應用/assets/1204916-20171202111849495-310227466.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-PBCxZVtG-1600692748980)(/home/afang/.config/Typora/typora-user-images/image-20200921203858556.png)]
進入之后還有登錄界面,這里展示的已經是進入之后的頁面
6、配置 agent 端
- 在被監控的主機安裝好agent,設置好 server,并添加到 server 端,將其納入監控系統中。
1、安裝 zabbix 安裝源
服務器10051
客戶端10050
[root@node1 ~]# wget https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm [root@node1 ~]# rpm -ivh zabbix-release-5.0-1.el7.noarch.rpm [root@node1 ~]# yum -y install epel-release.noarch [root@node1 ~]# yum install zabbix-agent zabbix-sender -y2、修改配置文件
1、確認配置文件
[root@node1 zabbix]# rpm -ql zabbix-agent /etc/logrotate.d/zabbix-agent /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.d /usr/lib/systemd/system/zabbix-agent.service /usr/lib/tmpfiles.d/zabbix-agent.conf /usr/sbin/zabbix_agentd /usr/share/doc/zabbix-agent-5.0.2 /usr/share/doc/zabbix-agent-5.0.2/AUTHORS /usr/share/doc/zabbix-agent-5.0.2/COPYING /usr/share/doc/zabbix-agent-5.0.2/ChangeLog /usr/share/doc/zabbix-agent-5.0.2/NEWS /usr/share/doc/zabbix-agent-5.0.2/README /usr/share/doc/zabbix-agent-5.0.2/userparameter_mysql.conf /usr/share/man/man8/zabbix_agentd.8.gz /var/log/zabbix /var/run/zabbix2、編輯配置文件
對配置文件做一個備份,然后修改配置文件
[root@node1 ~]# cd /etc/zabbix/ [root@node1 zabbix]# ls zabbix_agentd.conf zabbix_agentd.d [root@node1 zabbix]# cp zabbix_agentd.conf{,.bak} [root@node1 zabbix]# vim zabbix_agentd.conf[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-H6hOS6cq-1600692748982)(/home/afang/文檔/監控平臺部署及應用/assets/1204916-20171202111757729-865694486.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-8qqWsUUH-1600692748982)(/home/afang/文檔/監控平臺部署及應用/assets/1204916-20171202111803370-1250338239.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-yjSa3Kg2-1600692748984)(/home/afang/文檔/監控平臺部署及應用/assets/1204916-20171202111809401-778949871.png)]
-
重點需要修改 GENERAL PARAMETERS 段:
-
是否允許別人執行遠程操作命令,默認是禁用的,打開的話會有安全風險。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-PDHFNGts-1600692748984)(/home/afang/文檔/監控平臺部署及應用/assets/1204916-20171202111819198-1483932137.png)]
Server=192.168.37.111 # 指明服務器是誰的 ListenPort=10050 # 自己監聽的端口 ListenIP=0.0.0.0 # 自己監聽的地址,0.0.0.0表示本機所有地址 StartAgents=3 # 優化時使用的ServerActive=192.168.37.111 # 主動監控時的服務器 Hostname=node1.zabbix.com # 自己能被server端識別的名稱[root@node1 zabbix]# grep -Ev '^$|#' zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 EnableRemoteCommands=1 LogRemoteCommands=1 Server=192.168.152.167 ListenPort=10050 ListenIP=192.168.152.150 ServerActive=192.168.152.167 Hostname=node1 Include=/etc/zabbix/zabbix_agentd.d/*.conf啟動服務
[root@node1 zabbix]# systemctl start zabbix-agent.service查看端口是否已開啟
[root@node1 zabbix]# ss -ntul |grep 10050 tcp LISTEN 0 128 *:10050 *:*? 已經開啟成功就可以去 server 端添加主機了,其他主機進行同樣的操作,唯一不同的就是配置文件中的 Hostname 要設為對應主機名.到這里,連個節點基本已經部署完成.具體的使用…
總結
以上是生活随笔為你收集整理的zabbix简单的原理以及zabbix的部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 扇形束CT重建快速生成系统矩阵(syst
- 下一篇: JSPatch详解