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

 

posted @ 2021-02-24 15:03  莫莫学习  阅读(87)  评论(0)    收藏  举报