企業運維實戰--saltstack部署zabbix監控
- 前言
- 操作
- 配置saltstack操作環境
- 使用satlstack配置zabbix
- 安裝包下載
- 資料庫配置
- 配置zabbix檔案并啟動服務
- highstate呼叫
前言
saltstack,自動化運維工具,詳細介紹與安裝可參考本人博客:
企業運維實戰–自動化運維Saltstack(上)之saltstack的安裝部署、遠程執行、grains和pillar詳解以及Jinja模板的使用
企業運維實戰–自動化運維Saltstack(下)之 saltstack配置keepalived、salt-job、salt-syndic、salt-api
zabbix,企業級監控平臺,詳細介紹與安裝可參考本人博客:
企業運維實戰–Zabbix教程之zabbix安裝與server+web+agent搭建
本章我們將通過自動化運維saltstack的方式安裝部署zabbix監控,包括zabbix-server + zabbix-agent + zabbix-web的搭建,
操作
配置saltstack操作環境
實驗環境介紹:
兩臺rhel7.6的虛擬機server1、server2,其中server1為saltstack的master端,server2為saltstack的minion端,在server2上配置zabbix的所有東西,火墻和selinux全部關掉,
首先server1、server2配置saltstack,
server1:
配置軟體倉庫:

安裝salt-master服務并開啟
yum install -y salt-master.noarch
systemctl enable --now salt-master.service

server2安裝salt-minion服務并開啟
yum install -y salt-minion.noarch
修改組態檔指向master
vim /etc/salt/minion
master: 172.25.9.1
開啟服務,在server1端添加到信任清單
salt-key -A
salt-key -L

測驗saltstack是否配置完成:
salt server2 test.ping

配置好saltstack后開始在server2端進行zabbix配置.
server2端:
配置軟體倉庫
vim /etc/yum.repos.d/zabbix.repo

分別對zabbix-server,zabbix-db,zabbix-agent,zabbix-web進行使用saltstack進行安裝配置,

使用satlstack配置zabbix
安裝包下載
先安裝所有需要的包,包括zabbix-server-mysql,zabbix-agent,zabbix-web-mysql,mariadb-server,MySQL-python
vim /srv/salt/zabbix-repo/init.sls
all-install:
pkg.installed:
- pkgs:
- zabbix-server-mysql
- zabbix-agent
- zabbix-web-mysql
- mariadb-server
- MySQL-python
測驗,執行:
salt server2 state.sls zabbix-repo

所有包安裝完成,查看/usr/share/doc/zabbix-server-mysql-4.0.5中create.sql.gz是否存在,為zabbix-db配置做準備,

將資料包傳到server1的zabbix-db中為修改后續資料庫配置作準備,

資料庫配置
創建庫,授權用戶,匯入資料

db-running:
service.running:
- name: mariadb
db-configure:
mysql_database.present:
- name: zabbix
- character_set: utf8
- collate: utf8_bin
- connection_user: root
- connection_pass:
mysql_user.present:
- name: zabbix
- host: localhost
- password: westos
- connection_user: root
- connection_pass:
mysql_grants.present:
- grant: all privileges
- database: zabbix.*
- user: zabbix
- connection_user: root
- connection_pass:
file.managed:
- name: /usr/share/doc/zabbix-server-mysql-4.0.5/create.sql.gz
- source: salt://zabbix-db/create.sql.gz
# cmd.wait:當watch中的內容發生變化時才執行,cmd.run為一直執行
# 此處如果使用cmd.run 會一直匯入資料,導致報錯
cmd.wait:
- name: zcat /usr/share/doc/zabbix-server-mysql-4.0.5/create.sql.gz | mysql -uroot zabbix
- watch:
- mysql_database: db-configure
將之前的檔案create.sql.gz準備好

執行
salt server2 state.sls zabbix-db


進入server2資料庫中查看匯入結果

配置zabbix檔案并啟動服務
將server2中已經zabbix-server主組態檔傳給server1中

server1中修改組態檔

vim init.sls
zabbix-server:
file.managed:
- name: /etc/zabbix/zabbix_server.conf
- source: salt://zabbix-server/zabbix_server.conf
service.running:
- name: zabbix-server
- enable: true
- reload: true
- watch:
- file: zabbix-server
測驗執行:
salt server2 state.sls zabbix-server

檢查server2中檔案是否修改,服務是否啟動

行程顯示zabbix-server已經開啟,配置zabbix-server成功,
agent端開啟服務
vim /srv/salt/zabbix-agent/init.sls
zabbix-agent:
service.running:
- name: zabbix-agent
- enable: true
執行,
salt server2 state.sls zabbix-agent

server2中查看行程ps ax

zabbix-web配置并開啟服務
server2中將apache虛擬機主機zabbix檔案拷貝到server1中

修改檔案中的時區

vim init.sls
zabbix-web:
file.managed:
- name: /etc/httpd/conf.d/zabbix.conf
- source: salt://zabbix-web/zabbix.conf
service.running:
- name: httpd
- enable: true
- watch:
- file: zabbix-web
執行:
salt server2 state.sls zabbix-web

測驗:firefox: http://http://172.25.9.2/zabbix/

highstate呼叫
vim /srv/salt/top.sls
base:
'server2':
- zabbix-repo
- zabbix-db
- zabbix-server
- zabbix-agent
- zabbix-web
highstate呼叫top
salt server2 state.highstate
執行成功,進入網頁測驗:
firefox:172.25.9.2/zabbix/

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/289424.html
標籤:其他
