9、salt- 安装zabbix-agen,redis
1、zabbix-agent
cd /srv/salt/base
[root@master-1 base]# mkdir init zabbix logstash
init 系统初始化
zabbix zabbix相关
logstash logstash相关
mkdir /srv/salt/base/init/files
cd /srv/salt/base/init/files
wget http://mirrors.aliyun.com/repo/epel-7.repo
[root@master-1 files]# vim yum.repo.sls
file.managed: - source: salt://init/files/epel-7.repo - user: root - group: root - mode: 644
zabbix-agent配置文件模板,改两行,调用变量修改。每个机器自己的hostname是不一样的。
vim /srv/salt/base/zabbix/files/zabbix_agentd.conf
Server={{ ZABBIX_SERVER }}
Hostname={{ AGENT_HOSTNAME }}
zabbix安装参考官网,然后整理到sls状态文件中,提前找一台机器安装好,把配置文件准备到master相应目录
https://www.zabbix.com/download?zabbix=4.0&os_distribution=centos&os_version=7&db=mysql&ws=apache
[root@master-1 zabbix]# ll /srv/salt/base/zabbix/files/
total 32
-rw-r--r-- 1 root root 13169 Feb 23 17:06 zabbix_agentd.conf
-rw-r--r-- 1 root root 13800 Jul 31 2019 zabbix-release-4.0-2.el7.noarch.rpm
cd /srv/salt/base/zabbix
vim zabbix-agent.sls
zabbix-rpm:
file.managed:
- name: /usr/local/src/zabbix-release-4.0-2.el7.noarch.rpm
- source: salt://zabbix/files/zabbix-release-4.0-2.el7.noarch.rpm
cmd.run:
- name: rpm -ivh /usr/local/src/zabbix-release-4.0-2.el7.noarch.rpm
- require:
- file: zabbix-rpm
zabbix-agent:
pkg.installed:
- name: zabbix-agent
file.managed:
- name: /etc/zabbix/zabbix_agentd.conf
- source: salt://zabbix/files/zabbix_agentd.conf
- user: root
- group: root
- mode: 644
- template: jinja
- defaults:
ZABBIX_SERVER: 192.168.5.18
AGENT_HOSTNAME: {{ grains['fqdn'] }}
- require:
- pkg: zabbix-agent
service.running:
- name: zabbix-agent
- enable: True
- watch:
- file: zabbix-agent
- pkg: zabbix-agent
测试并运行:
salt node-1 state.sls zabbix.zabbix-agent test=True
salt node-1 state.sls zabbix.zabbix-agent
2、安装redis
创建相应目录
[root@master-1 prod]# pwd
/srv/salt/prod
mkdir modules/{apache,haproxy,keepalived,mysql,redis} -p
mkdir -p redis-cluster/files
[root@master-1 prod]# cat modules/redis/redis-install.sls redis-install: pkg.installed: - name: redis
[root@master-1 prod]# vim redis-cluster/redis-master.sls
include: - modules.redis.redis-install redis-master-config: file.managed: - name: /etc/redis.conf - source: salt://redis-cluster/files/redis-master.conf - user: root - group: root - mode: 644 - template: jinja - defaults: REDIS_MEM: 100M PORT: 6001 IPADDR: {{ grains['fqdn_ip4'][0] }} redis-master-service: service.running: - name: redis - enable: True - watch: - file: redis-master-config
cd /srv/salt/prod/redis-cluster/files/
[root@master-1 files]# grep -Ev "^#|^$" redis-master.conf bind {{ IPADDR }} protected-mode yes port {{ PORT }} tcp-backlog 511 timeout 0 tcp-keepalive 300 daemonize yes supervised no pidfile /var/run/redis_6379.pid loglevel notice logfile /var/log/redis/redis.log databases 16 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb dir /var/lib/redis slave-serve-stale-data yes slave-read-only yes repl-diskless-sync no repl-diskless-sync-delay 5 repl-disable-tcp-nodelay no slave-priority 100 maxmemory {{ REDIS_MEM }} appendonly no appendfilename "appendonly.aof" appendfsync everysec no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes lua-time-limit 5000 slowlog-log-slower-than 10000 slowlog-max-len 128 latency-monitor-threshold 0 notify-keyspace-events "" hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-size -2 list-compress-depth 0 set-max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 hll-sparse-max-bytes 3000 activerehashing yes client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 aof-rewrite-incremental-fsync yes
然后测试运行,因为prod目录下写的状态文件,并不是base,所以在运行时需要指定一下变量。saltenv=prod
salt node-1 state.sls redis-cluster.redis-master saltenv=prod test=True
salt node-1 state.sls redis-cluster.redis-master saltenv=prod

浙公网安备 33010602011771号