SaltStack 六


 
# salt本地管理 無master架構

# file_client: remote   # 將 remote 改爲 local
salt-call --local state.sls web.tomcat

#  zabbix-agent 案例
/srv/salt/
├── base     # 公共的
│   ├── init  # ---初始化
│   │   ├── files
│   │   │   └── epel-7.repo
│   │   └── yum-repo.sls
│   ├── logstash   # ---logstash
│   ├── top.sls
│   ├── web
│   │   ├── apache.sls
│   │   ├── apache-tomcat-8.0.46.tar.gz
│   │   ├── append.sls
│   │   ├── lamp.sls
│   │   └── tomcat.sls
│   └── zabbix   # ---zabbix
│       ├── files
│       │   └── zabbix_agentd.conf
│       └── zabbix-agent.sls
├── dev
├── prod
└── test

1. vim yum-repo.sls
/etc/yum.repos.d/epel-7.repo
  file.managed:
    - source: salt://init/files/epel-7.repo
    - user: root
    - group: root
    - mode: 644

2. vim zabbix-agent.sls
#include:
  #- init: yum-repo

zabbix-agent:
  pkg.installed:
    - name: zabbix40-agent
    #- require:
    #  - file: /etc/yum.repos.d/epel.repo
  file.managed:
    - name: /etc/zabbix_agentd.conf
    - source: salt://zabbix/files/zabbix_agentd.conf
    - user: root
    - group: root
    - mode: 644
    - template: jinja
    - defaults:
      ZABBIX_SERVER: 192.168.2.103
      AGENT_HOSTNAME: {{ grains['fqdn'] }}
    - require:
      - pkg: zabbix-agent
  service.running:
    - name: zabbix-agent
    - enable: True
    - watch:
      - file: zabbix-agent 
      - pkg: zabbix-agent

zabbix_agent.conf.d:
  file.directory:
    - name: /etc/zabbix_agentd.conf.d
    - watch_in:
      - service: zabbix-agent
    - require:
      - pkg: zabbix-agent
      - file: zabbix-agent
3. zabbix_agentd.conf
Server={{ ZABBIX_SERVER }}
Hostname={{ AGENT_HOSTNAME }}

Include=/etc/zabbix_agentd.conf.d/ # 去掉註釋
4. salt '*' state.sls zabbix.zabbix-agent test=True
5. salt '*' state.sls zabbix.zabbix-agent 
# 執行效果如下:
#---------------------------------------------------------------------------
192.168.2.102:
----------
          ID: zabbix-agent
    Function: pkg.installed
        Name: zabbix40-agent
      Result: True
     Comment: Package zabbix40-agent is already installed.
     Started: 23:38:15.756715
    Duration: 15205.207 ms
     Changes:   
----------
          ID: zabbix-agent
    Function: file.managed
        Name: /etc/zabbix_agentd.conf
      Result: True
     Comment: The file /etc/zabbix_agentd.conf is in the correct state
     Started: 23:38:30.963639
    Duration: 20.409 ms
     Changes:   
----------
          ID: zabbix_agent.conf.d
    Function: file.directory
        Name: /etc/zabbix_agentd.conf.d
      Result: True
     Comment: The directory /etc/zabbix_agentd.conf.d is in the correct state
     Started: 23:38:30.987142
    Duration: 1.938 ms
     Changes:   
----------
          ID: zabbix-agent
    Function: service.running
      Result: True
     Comment: Service zabbix-agent is already enabled, and is in the desired state
     Started: 23:38:30.989642
    Duration: 1308.499 ms
     Changes:   

Summary
------------
Succeeded: 4
Failed:    0
------------
Total states run:     4
192.168.2.104:
----------
          ID: zabbix-agent
    Function: pkg.installed
        Name: zabbix40-agent
      Result: True
     Comment: Package zabbix40-agent is already installed.
     Started: 05:25:14.603753
    Duration: 13347.962 ms
     Changes:   
----------
          ID: zabbix-agent
    Function: file.managed
        Name: /etc/zabbix_agentd.conf
      Result: True
     Comment: The file /etc/zabbix_agentd.conf is in the correct state
     Started: 05:25:28.106326
    Duration: 120.26 ms
     Changes:   
----------
          ID: zabbix_agent.conf.d
    Function: file.directory
        Name: /etc/zabbix_agentd.conf.d
      Result: True
     Comment: The directory /etc/zabbix_agentd.conf.d is in the correct state
     Started: 05:25:28.227367
    Duration: 0.364 ms
     Changes:   
----------
          ID: zabbix-agent
    Function: service.running
      Result: True
     Comment: Service zabbix-agent is already enabled, and is in the desired state
     Started: 05:25:28.227845
    Duration: 1109.733 ms
     Changes:   

Summary
------------
Succeeded: 4
Failed:    0
------------
Total states run:     4
#---------------------------------------------------------------------------

6. 系統初始化
	DNS   file.managed
	防火牆  service.dead
	limit設置  file.managed
	SSH useDNS設置,修改端口 file.managed
	systemctl 內核參數調優 systemctl
	關閉不需要的服務 service
	時間同步  file.managed cron
	基礎軟件包 pkg.installed
	include:
      - init.yum-repo

    base-pkg:
      pkg.installed:
        - pkg:
          - screen
          - lrzsz
          - vim
	yum源 file.managed
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章