zabbix 術語
zabbix 是一款開源免費的監控軟件,目前廣泛用於企業監控中,可以監控主機、交換機、路由器、UPS等等。zabbix 可以採用以下方式進行監控
agent:通過專用的代理程序進行監控,與常見的master/agent模型類似,如果被監控對象支持對應的agent,推薦首選這種方式。
ssh/telnet:通過遠程控制協議進行通訊,比如ssh或者telnet。
SNMP:通過SNMP協議與被監控對象進行通訊,一般監控網絡設備例如交換機路由器防火牆等會採用這種協議。
IPMI:通過IPMI接口進行監控,我們可以通過標準的IPMI硬件接口,監控被監控對象的物理特徵,比如電壓,溫度,風扇狀態,電源狀態等。
JMX:通過JMX進行監控,JMX(Java Management Extensions,即Java管理擴展),用這個來監控JVM虛擬機。
zabbix 組件:
zabbix agent:部署在被監控主機上,負責被監控主機的數據,並將數據發送給zabbix server。
zabbix server:負責接收agent發送的報告信息,並且負責組織配置信息、統計信息、操作數據等。
zabbix database:用於存儲所有zabbix的配置信息、監控數據的數據庫。
zabbix web:zabbix的web界面,管理員通過web界面管理zabbix配置以及查看zabbix相關監控信息,可以單獨部署在獨立的服務器上。
zabbix proxy:可選組件,用於分佈式監控環境中,zabbix proxy代表server端,完成局部區域內的信息收集,最終統一發往server端。
zabbix 安裝和啓動
以centos 7 爲例:
zabbix 官方軟件包安裝地址:http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/
在zabbix server 端:yum install zabbix-server-mysql (server-mysql 是用來連接數據庫用的,web 和web-mysql是用來圖形化操作用的)
zabbix 被監控端:yum install zabbix-agent zabbix-sender (sender 是用來主動發送給server端的)
管理zabbix server的客戶端:yum install http php zabbix-web zabbix-web-mysql (這個也可以和zabbix server在同一臺機器上,需要安裝http是因爲
要通過http 訪問和修改zabbix server 配置,安裝php 是因爲zabbix 的網頁呈現是通過php 寫的)
遠端的數據庫192.168.10.33要對zabbix 進行授權:
MariaDB [(none)]> create database zbxdb character set 'utf8';
MariaDB [(none)]> grant all on zbxdb.* to zbxuser@'192.168.%' identified by 'centos';
在zabbix server端 [root@localhost ~]# rpm -ql zabbix-server-mysql 會發現 生成 /usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz
文件,需要把該文件解壓縮並導入到數據庫中,操作如下:
uzip /usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz
mysql -uzbxuser -pcentos -h192.168.10.33 -Dzbxdb <create.sql 把解壓後的文件導入到遠端數據庫中。
至此 zabbix 的server 和agent 安裝已經完成了,注意zabbix server一定要能夠訪問數據庫,否則zabbix 會不能正常啓動的!
zabbix 啓動
在zabbix server 端 vim /etc/zabbix/zabbix_server.conf
ListenPort=10051 不需要改默認就是這個端口
SourceIP= 指定源ip 也可以不寫
DBHost=192.168.10.33 mysql 服務器ip,如果在同一臺機器上就寫localhost
DBName=zbxdb 通過DBName指定zabbix數據庫對應的名稱
DBUser=zbxuser 通過DBUser指定zabbix數據庫用戶名
DBPassword=centos
DBPort=3306
配置http ,這裏採用虛擬主機
vim /etc/httpd/conf.d/zabbix.conf # # Zabbix monitoring system php web frontend # <virtualhost 192.168.10.34:80> documentroot /usr/share/zabbix Alias /zabbix /usr/share/zabbix <IfModule mod_php5.c> php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value always_populate_raw_post_data -1 php_value date.timezone Asia/Shanghai #修改時區 ........此處省略一萬字 </virtualhost>
配置完成後重啓zabbix-server 和httpd 服務 就可以了。確保zabbix-server 10051 存在的 如果沒有的話請檢查zabbix server 和mysql的連接情況。
在電腦上輸入: http://192.168.10.34/zabbix/setup,會看到如下界面:
啓動zabbix agent
vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.1.34 # zabbix server 地址
ServerActive=192.168.1.34
Hostname=agent30 該項要和zabbix server 添加的hostname 保持一致。