• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

企业运维实战–saltstack部署zabbix监控

互联网 diligentman 49分钟前 1次浏览

企业运维实战–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:
配置软件仓库:
企业运维实战--saltstack部署zabbix监控

安装salt-master服务并开启

yum install -y salt-master.noarch
systemctl enable --now salt-master.service

企业运维实战--saltstack部署zabbix监控
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部署zabbix监控
测试saltstack是否配置完成:

salt server2 test.ping

企业运维实战--saltstack部署zabbix监控
配置好saltstack后开始在server2端进行zabbix配置.

server2端:

配置软件仓库
vim /etc/yum.repos.d/zabbix.repo
企业运维实战--saltstack部署zabbix监控
分别对zabbix-server,zabbix-db,zabbix-agent,zabbix-web进行使用saltstack进行安装配置。

企业运维实战--saltstack部署zabbix监控

使用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

企业运维实战--saltstack部署zabbix监控

所有包安装完成,查看/usr/share/doc/zabbix-server-mysql-4.0.5中create.sql.gz是否存在,为zabbix-db配置做准备。
企业运维实战--saltstack部署zabbix监控

将数据包传到server1的zabbix-db中为修改后续数据库配置作准备。

企业运维实战--saltstack部署zabbix监控

数据库配置

创建库,授权用户,导入数据
企业运维实战--saltstack部署zabbix监控

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准备好
企业运维实战--saltstack部署zabbix监控

执行

salt server2 state.sls zabbix-db

企业运维实战--saltstack部署zabbix监控

企业运维实战--saltstack部署zabbix监控

进入server2数据库中查看导入结果

企业运维实战--saltstack部署zabbix监控

配置zabbix文件并启动服务

将server2中已经zabbix-server主配置文件传给server1中

企业运维实战--saltstack部署zabbix监控

server1中修改配置文件

企业运维实战--saltstack部署zabbix监控

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
企业运维实战--saltstack部署zabbix监控

检查server2中文件是否修改,服务是否启动
企业运维实战--saltstack部署zabbix监控

进程显示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

企业运维实战--saltstack部署zabbix监控

server2中查看进程ps ax
企业运维实战--saltstack部署zabbix监控

zabbix-web配置并开启服务

server2中将apache虚拟机主机zabbix文件拷贝到server1中

企业运维实战--saltstack部署zabbix监控

修改文件中的时区

企业运维实战--saltstack部署zabbix监控

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
企业运维实战--saltstack部署zabbix监控

测试:firefox: http://http://172.25.9.2/zabbix/
企业运维实战--saltstack部署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

企业运维实战--saltstack部署zabbix监控执行成功,进入网页测试:
firefox:172.25.9.2/zabbix/
企业运维实战--saltstack部署zabbix监控


程序员灯塔
转载请注明原文链接:企业运维实战–saltstack部署zabbix监控
喜欢 (0)