SourceURL:file:///home/student/Documents/zabbix.doc
- zabbix服務器配置
1. 拷貝zabbix軟件包到pubserver
#在此之前先從真機拷貝安裝包
[root@server1 ~]# scp /linux-soft/s2/zzg/zabbix_soft/*.rpm 192.168.88.5:/root/
#然后拷貝到pubserver
[root@zabbixserver ~]# scp /linux-soft/s2/zzg/zabbix_soft/*.rpm 192.168.88.240:/var/ftp/rpms
- ?編寫劇本,通過pubserver,在zabbixserver上安裝相應軟件包
[root@pubserver zabbix]# vim 01_zabbixinstall.yml
---
- name: install zabbix
??hosts: zabbix
??tasks:
?? ?- name: install zabbix ? ?# 安裝軟件包
?? ? ?yum:
?? ? ? ?name:
?? ? ? ? ?- zabbix-server-mysql
?? ? ? ? ?- zabbix-web-mysql
?? ? ? ? ?- zabbix-nginx-conf
?? ? ? ? ?- zabbix-sql-scripts
?? ? ? ? ?- zabbix-selinux-policy
?? ? ? ? ?- zabbix-agent
?? ? ? ? ?- mysql-server
?? ? ? ? ?- langpacks-zh_CN
?? ? ? ?state: present
[root@pubserver zabbix]# ansible-playbook 01_zabbixinstall.yml
3. 編寫劇本,啟動mysqld服務
[root@pubserver zabbix]# vim 02_start_mysqld.yml
---
- name: config mysqld
??hosts: zabbix
??tasks:
?? ?- name: start mysqld ? ? ?# 啟動mysqld服務
?? ? ?service:
?? ? ? ?name: mysqld
?? ? ? ?state: started
?? ? ? ?enabled: yes
[root@pubserver zabbix]# ansible-playbook 02-start-mysqld.yml
4. 在zabbix上創建連接數據庫的用戶
[root@zabbixserver ~]# mysql
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
# 在binlog日志開啟的情況下,打開函數生成器
mysql> set global log_bin_trust_function_creators = 1;
mysql> create user zabbix@localhost identified by 'zabbix';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;
5.?驗證數據庫配置,如果登陸不到數據庫表示上一步配置不正確
[root@zabbixserver ~]# mysql -uzabbix -pzabbix -hlocalhost zabbix
mysql> quit;
6. 在數據庫中創建表并導入數據
[root@zabbixserver ~]# cp /usr/share/zabbix-sql-scripts/mysql/server.sql.gz .
[root@zabbixserver ~]# gzip -d server.sql.gz
#比較慢
[root@zabbixserver ~]# mysql -uzabbix -pzabbix zabbix < server.sql
7. 修改zabbix_server配置文件,設置密碼
[root@zabbixserver ~]# vim +129 /etc/zabbix/zabbix_server.conf
129: DBPassword=zabbix
8. 配修改zabbix_agent配置文件
[root@zabbixserver ~]# vim /etc/zabbix/zabbix_agentd.conf
182 Hostname=zabbixserver
9. 配置nginx展示zabbix
[root@zabbixserver ~]# vim /etc/nginx/conf.d/zabbix.conf
# 打開第2、3行的注釋,結果如下所示:
server {
?? ? ? ?listen ? ? ? ? ?8080;
?? ? ? ?server_name ? ? example.com;
...以下省略...
10. ansible服務器使用劇本啟動相關服務
[root@pubserver zabbix]# vim 03_start_zabbix.yml
---
- name: config zabbix
??hosts: zabbix
??tasks:
?? ?- name: start service ? ?# 循環啟動多個服務
?? ? ?service:
?? ? ? ?name: "{{item}}"
?? ? ? ?state: started
?? ? ? ?enabled: yes
?? ? ?loop:
?? ? ? ?- zabbix-server
?? ? ? ?- zabbix-agent
?? ? ? ?- nginx
?? ? ? ?- php-fpm
[root@pubserver zabbix]# ansible-playbook 03_start_zabbix.yml
- 訪問zabbixserver的8080端口,進行初始化
瀏覽器操作:http://192.168.88.5:8080
Dafault language 選擇中文(zh_CN)
——> 下一步
——> 下一步
用戶:zabbix
密碼:zabbix
——> 下一步
Zabbix主機名稱:zabbixserver
Defualt time zone:(UTC+08:00)Asia/Shanghai
——> 下一步
——> 下一步
——> 完成
用戶登錄
用戶名稱:Admin
密碼:zabbix
看數據操作:
配置-主機
監測-最新數據
四、配置zabbix監控web1服務器
1、在web1上安裝agent
[root@pubserver zabbix]# vim 04_inst_agent.yml
---
- name: install agent
??hosts: webservers
??tasks:
?? ?- name: install agent ? ?# 安裝agent
?? ? ?yum:
?? ? ? ?name: zabbix-agent
?? ? ? ?state: present
[root@pubserver zabbix]# ansible-playbook 04_inst_agent.yml
2. 修改web1配置文件
[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.conf
117 Server=127.0.0.1,192.168.88.5
182 Hostname=web1
3. 啟動服務
[root@pubserver zabbix]# vim 05_start_agent.yml
---
- name: config agent
??hosts: web1
??tasks:
?? ?- name: start agent ? ? ?# 啟動服務
?? ? ?service:
?? ? ? ?name: zabbix-agent
?? ? ? ?state: started
?? ? ? ?enabled: yes
[root@pubserver zabbix]# ansible-playbook 05_start_agent.yml
4、在web頁面中添加對web1的監控
主機:安裝了agent,被監控的主機
主機組:根據需求,將多臺主機加入到一個主機組中,方便管理。系統默認已經創建了一些主機組。
模板:是監控項的集合。將模板應用到主機,主機就可以直接擁有模板中的所有監控項。系統中默認已經創建了一些模板。
配置——主機——創建主機——添加agent(web1)
常用監控指標
- Space utilization:以百分比顯示的磁盤利用率
- Used space:已用磁盤空間
- Available memory:可用內存
- CPU idle time:CPU空閑時間。不宜過低。
- Load average (1m avg)、Load average (5m avg)、Load average (15m avg):CPU1分鐘、5分鐘、15分鐘的平均負載。這個值不應長期大于核心數。
- Interface eth0: Bits received:網卡接收到的數據量
- Interface eth0: Bits sent:網卡發送的數據量
- Number of processes:系統運行的進程數
- Number of logged in users:已登陸的用戶數