cacti+nagios(曾經的監控軟體)
zabbix
Open-falcon(國人研發一款優秀的監控軟體)
Prometheus+Grafana(容器技術的監控軟體)
一、採集:週期性時序數據
二、儲存
三、告警
四、數據視覺化
[外連圖片轉存失敗,源站可能有防盜鏈機制 機製,建議將圖片儲存下來直接上傳(img-GUtPdLvu-1596975851476)(http://www.rookiewyh.com/upload/2020/4/image-bf493a1a69884431b0fd75859f407d2f.png)]
zabbix server:負責接收agent發送的報告資訊的核心元件,所有設定、統計數據及操作數據均由其組織進行
database storage:專用於儲存所有設定資訊,以及由zabbix收集的數據
web GUI:zabbix的GUI介面,通常與server執行在同一臺主機上
proxy:可選元件,常用於分佈監控環境中,代理server收集部分被監控端的監控數據並統一發往server端
agent:部署在被監控主機上,負責收集本地數據併發往server端或proxy端
1,監控物件:主機,主機組
2,監控項
3,監控通道
zabbix官方站點
zabbix官方下載地址
安裝步驟(可參考官網下載地址處的步驟)
一,安裝mariadb並修改mariadb組態檔,建立zabbix倉庫後安裝zabbix-server-mysql zabbix-web-mysql zabbix-agent
yum install mariadb-server -y
vi /etc/my.cnf.d/server.cnf
[mysqld]
skip_name_resolve=ON ###mysqld下新增該行,跳過主機名解析
systemctl start mariadb
systemctl enable mariadb
rpm -Uvh https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
yum clean all
若上述兩條命令不能執行的話,手動搭建zabbix的yum倉庫
vi /etc/yum.repos.d/zabbix.repo
[zabbix]
name=zabbix3.0
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/
gpgcheck=0
enable=1
[zabbix-non-supported]
name=zabbix3.0-non-supported
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/x86_64/
gpgcheck=0
enable=1
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y
二,建立zabbix數據庫,建立使用者並對數據庫授權,根據zabbix提供的指令碼生成數據庫表格
mysql
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by '123.com';
exit
[root@localhost ~]# rpm -ql zabbix-server-mysql
/etc/logrotate.d/zabbix-server
/etc/zabbix/zabbix_server.conf
/usr/lib/systemd/system/zabbix-server.service
/usr/lib/tmpfiles.d/zabbix-server.conf
/usr/lib/zabbix/alertscripts
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-3.0.30
/usr/share/doc/zabbix-server-mysql-3.0.30/AUTHORS
/usr/share/doc/zabbix-server-mysql-3.0.30/COPYING
/usr/share/doc/zabbix-server-mysql-3.0.30/ChangeLog
/usr/share/doc/zabbix-server-mysql-3.0.30/NEWS
/usr/share/doc/zabbix-server-mysql-3.0.30/README
/usr/share/doc/zabbix-server-mysql-3.0.30/create.sql.gz ###記住該行
/usr/share/man/man8/zabbix_server.8.gz
/var/log/zabbix
/var/run/zabbix
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
三,設定zabbix-server的組態檔(預設/etc/zabbix/zabbix_server.conf),指定數據庫的地址DBHost,數據庫名字DBName,數據庫使用者DBUser,數據庫密碼DBPassword,啓動zabbix
vi /etc/zabbix/zabbix_server.conf
LogFileSize=512 ###日誌大小限制,超過該值卷動,預設0,不限
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123.com
systemctl start zabbix-server
systemctl enable zabbix-server
[root@localhost ~]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 50 *:3306 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:10051 *:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::1]:25 [::]:*
LISTEN 0 128 [::]:10051 [::]:*
四,修改php組態檔或者修改web中zabbix組態檔修改時區,啓動httpd
vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
systemctl start httpd
systemctl enable httpd
五,存取web地址/zabbix,根據嚮導一步步安裝zabbix-web,登錄(預設Admin/zabbix)
[外連圖片轉存失敗,源站可能有防盜鏈機制 機製,建議將圖片儲存下來直接上傳(img-ITQvGrfy-1596975851480)(http://www.rookiewyh.com/upload/2020/4/image-9915831cdf7e42d0b157646b334c6b93.png)]
[外連圖片轉存失敗,源站可能有防盜鏈機制 機製,建議將圖片儲存下來直接上傳(img-StQjo1l1-1596975851483)(http://www.rookiewyh.com/upload/2020/4/image-326645286ff64decbab9f9c1ca676a98.png)]
總結安裝步驟(可參考官方安裝步驟)
一、首先要在監控主機上安裝zabbix-agent,當然zabbix-server也須納入監控之中,所以在之前我們安裝了zabbix-agent
二、設定zabbix-agent的組態檔
[root@localhost ~]# grep "^###" /etc/zabbix/zabbix_agentd.conf
############ GENERAL PARAMETERS #################
### Option: PidFile
### Option: LogType
### Option: LogFile
### Option: LogFileSize
### Option: DebugLevel
### Option: SourceIP
### Option: EnableRemoteCommands
### Option: LogRemoteCommands
##### Passive checks related
### Option: Server ###zabbix-server地址
### Option: ListenPort ###監聽的埠,預設10050
### Option: ListenIP ###監聽的IP,預設所有ip
### Option: StartAgents ###開啓幾個子進程來守護行程
##### Active checks related
### Option: ServerActive ###zabbix-server地址
### Option: Hostname ###這項以及以下三項均爲標識被監控主機的
### Option: HostnameItem
### Option: HostMetadata
### Option: HostMetadataItem
### Option: RefreshActiveChecks
### Option: BufferSend
### Option: BufferSize
### Option: MaxLinesPerSecond
############ ADVANCED PARAMETERS #################
### Option: Alias
### Option: Timeout
### Option: AllowRoot
### Option: User
### Option: Include
####### USER-DEFINED MONITORED PARAMETERS #######
### Option: UnsafeUserParameters
### Option: UserParameter
####### LOADABLE MODULES #######
### Option: LoadModulePath
### Option: LoadModule
####### TLS-RELATED PARAMETERS #######
### Option: TLSConnect
### Option: TLSAccept
### Option: TLSCAFile
### Option: TLSCRLFile
### Option: TLSServerCertIssuer
### Option: TLSServerCertSubject
### Option: TLSCertFile
### Option: TLSKeyFile
### Option: TLSPSKIdentity
### Option: TLSPSKFile
可以看到zabbix-agent設定分爲通用設定、高階設定、使用者定義的監控設定、可載入模組和安全相關設定,而通用設定裡又有兩項——被動檢查和主動檢查,我們只需要設定這兩個地方即可
三、啓動zabbix-agent,以及在web介面將其修改爲enable
zabbix-server上的zabbix-agent無需修改什麼設定直接啓動就好了
systemctl start zabbix-agent
systemctl enable zabbix-agent
[外連圖片轉存失敗,源站可能有防盜鏈機制 機製,建議將圖片儲存下來直接上傳(img-07fvX1Lu-1596975851485)(http://www.rookiewyh.com/upload/2020/4/image-84c0cbdbb70745a1acdc600722a5bb47.png)]
四、新增一個真正的監控主機
開啓一個新機器(192.168.39.12/node1),複製zabbix的yum倉庫到node1,在node1上安裝zabbix-agent
scp /etc/yum.repos.d/zabbix.repo node1:/etc/yum.repos.d/
yum install zabbix-agent -y
設定zabbix_agentd.conf,啓動zabbix-agent
vi /etc/zabbix/zabbix_agentd.conf
Server=192.168.39.11
ServerActive=192.168.39.11
Hostname=node1
systemctl start zabbix-agent
systemctl enable zabbix-agent
新增host groups
[外連圖片轉存失敗,源站可能有防盜鏈機制 機製,建議將圖片儲存下來直接上傳(img-lxKHI61G-1596975851486)(http://www.rookiewyh.com/upload/2020/4/image-80a61bef48514aed87d4bb832c9f67ba.png)]
[外連圖片轉存失敗,源站可能有防盜鏈機制 機製,建議將圖片儲存下來直接上傳(img-59OUk9dg-1596975851487)(http://www.rookiewyh.com/upload/2020/4/image-5a9d6ba7dc974d869a9f991f8222a0b4.png)]
[外連圖片轉存失敗,源站可能有防盜鏈機制 機製,建議將圖片儲存下來直接上傳(img-L4Ru9KMD-1596975851488)(http://www.rookiewyh.com/upload/2020/4/image-5142609dfcd44bdcaa0af9bf56de3053.png)]
新增host
[外連圖片轉存失敗,源站可能有防盜鏈機制 機製,建議將圖片儲存下來直接上傳(img-bqj4YtCM-1596975851489)(http://www.rookiewyh.com/upload/2020/4/image-9d52dd9867f54a1c9067030306503924.png)]
[外連圖片轉存失敗,源站可能有防盜鏈機制 機製,建議將圖片儲存下來直接上傳(img-JUbA76Pt-1596975851490)(http://www.rookiewyh.com/upload/2020/4/image-2668721fac744cc48069daf2c1318a29.png)]
新增items
[外連圖片轉存失敗,源站可能有防盜鏈機制 機製,建議將圖片儲存下來直接上傳(img-VycglsMH-1596975851492)(http://www.rookiewyh.com/upload/2020/4/image-a2f9d27ec21344a98746a7f51d764625.png)]
[外連圖片轉存失敗,源站可能有防盜鏈機制 機製,建議將圖片儲存下來直接上傳(img-t8iXlFSL-1596975851493)(http://www.rookiewyh.com/upload/2020/4/image-c4809b0149a7447985b8324f970636d5.png)]
[外連圖片轉存失敗,源站可能有防盜鏈機制 機製,建議將圖片儲存下來直接上傳(img-PplqN9ju-1596975851493)(http://www.rookiewyh.com/upload/2020/4/image-7f3642979f9b4359b75af444f7d3359f.png)]
參考key值
後面還有trigger,action等的操作就不截圖細說,簡單說下:
宏型別:內建宏和自定義宏
zabbix官網宏說明
宏級別:
key的官方中文釋義:https://www.zabbix.com/documentation/3.4/zh/manual/config/items/itemtypes/zabbix_agent
在zabbix_agentd.conf中定義,爲了方便管理一般都在子組態檔,如zabbix_agentd/nginx.conf
例
# Format: UserParameter=<key>,<shell command>
UserParameter=nginx.status.activeconns,curl -s http://node01/status | awk '/^Active/{print $3}'
systemctl restart zabbix-agent ### 設定完需重新啓動
可安裝zabbix-get工具測試自定義key
zabbix-get使用範例
zabbix_get -s 192.168.39.12 -p 10050 -k "nginx.status.activeconns"
key的傳參
UserParameter=memory.info[*],awk '/^$1/{print $$2}' /proc/meminfo
### 爲了區分awk和key的位置變數,awk本身的位置變數要用$$#表示
測試
zabbix_get -s node01 -k 'memeory.info[MemTotal]'
1865308
基本觸發器的表達格式
{:.()}
print $$2}’ /proc/meminfo
測試
zabbix_get -s node01 -k ‘memeory.info[MemTotal]’
1865308
### 3、template
[template分享社羣](https://share.zabbix.com/list-alpha/i?limitstart=0)
基本觸發器的表達格式
{<server>:<key>.<funtion>(<parameter>)}<operator><constant>
64960