zabbix--結合saltstack推送自定義key實踐

一、軟件版本

操作系統:CentOS-6.5-x86_64

salt版本:2015.5.2(直接yum源碼安裝)

zabbix版本:3.0.3

 

二、部署環境規劃

 

名稱

IP

主機名

配置

Slat-master

192.168.63.205

Zabbix_server

2核、2G

Salt-client

192.168.63.184

Zabbix_client

2核、2G

 

三、zabbix-server(slat-master)架構圖如下:

                                              face/6GiGns8fZWkR7RdMMyWddYiz7FPYm5Gf.png


架構思路:zabbix server先安裝有一個agnet端,然後測試模板和key沒有問題之後,再從/usr/local/zabbix/etc/zabbix_agentd.conf.d 目錄下推送所有的key到客戶端,並重啓zabbix服務即可。

 

第一種實現方式結合state實現自定義推送:

 

四、Zabbix-agent配置好自定義key存放的路徑:

 

Vim /usr/local/zabbix/etc/zabbix_agentd.conf

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf   ###定義自定義key存放路徑。

UnsafeUserParameters=1                      ###開啓自定義監控

 

五、master 上配置state具體路徑。

 

[root@zabbix_server ~]# vim /etc/salt/master

file_roots:

  base:

    - /srv/salt/                      ###sls配置文件存放路徑

- /usr/local/zabbix/etc/zabbix_agentd.conf.d/          ####key推送的文件路徑

 #####################

六、切換到目錄下,執行sls的配置操作:

 

1、環境具體配置:

[root@zabbix_server zabbix]# cd /srv/salt

[root@zabbix_server salt]# ls

  top.sls  zabbix

 

2、看一下入口文件:

base:

  '*':

- zabbix

3、切換到zabbix目錄下看入口文件:

[root@zabbix_server salt]# cd zabbix/

[root@zabbix_server zabbix]# ls

 file.sls  init.sls  server.sls

 

4、初始文件init.sls:

[root@zabbix_server zabbix]# cat init.sls

include:

  - zabbix.file

  - zabbix.server

 

 

5、由於salt是基於python編寫的,所以我們也可以寫成一下形式:

 

config:

  file.managed:

    {% for item in ['mysql.conf']%}

    - name: /usr/local/zabbix/etc/zabbix_agentd.conf.d/`item`

    - source: salt://`item`

    {% endfor %}

6、推送完成之後,重啓zabbix—agent:

[root@zabbix_server zabbix]# cat server.sls

include:

  - zabbix.file

 

server:  

  service.running:   

    - name: zabbix_agentd

    - enable: True

- reload: True

 

7、查看目錄下要推送的文件:

[root@zabbix_server files]# pwd

/usr/local/zabbix/etc/zabbix_agentd.conf.d

[root@zabbix_server zabbix_agentd.conf.d]# ls

mysql.conf  tcp.conf

七、執行推送操作:

[root@zabbix_server zabbix]# salt 'zabbix_client' state.highstate -v

   

**zabbix_client ####表示主機名

 

查看到第一次已經推送了,mysql.conf這個文件

 

face/ZQ3JpJNTj56sZdHdkJsZzKBYwf6s8GxR.png

 

客戶端查看:

[root@zabbix_client zabbix_agentd.conf.d]# ls

mysql.conf  tcp.conf

 

   **最後在web界面添加相關模板即可

 

 

第二種方式:使用file模塊直接推送,配置我們保留不變:

 

[root@zabbix_server files]# salt 'zabbix_client' cp.get_file salt://tcp.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/tcp.conf

zabbix_client:

/usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql.conf

 

salt 'zabbix_client' cp.get_dir salt://zabbix /tmp/  

直接用命令推送即可,推薦使用下面命令的方法來推送文件或者目錄。


運維平臺開源項目地址:https://github.com/roncoo/roncoo-cmdb


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章