saltstack(十四):saltStack实例-安装zabbix_agent

 

 

Saltstack实例-安装zibbix-agent

1.1          环境准备

1.1.1          创建目录        

init #初始化   zabbix

1.1.2          yum-epel源管理

#yum-epel.sls

/etc/yum.repos.d/epel.repo: #文件作为ID file.managed: - source: salt://init/files/epel-7.repo - user: root - group: root

 

1.1.3          zabbix管理

zabbix_agentd.conf 文件 作为模板

#zabbix_agentd.conf
PidFile=/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server={{ SERVER }} ServerActive=127.0.0.1 Hostname={{ HOSTNAME }} Include=/etc/zabbix_agentd.conf.d/

 

zabbix-agent.sls

#zabbix-agent.sls
include:
  - init.yum-epel     #引入epel源

zabbix-agent:
  pkg.installed:
    - name : zabbix22-agent
    - require:
      - file : /etc/yum.repos.d/epel.repo   #epel源ID 不存在不执行
  file.managed:
    - name: /etc/zabbix_agentd.conf  #远程文件地址
    - source : salt://zabbix/files/zabbix_agentd.conf  #本地文件位置
    - user: root
    - group: root
    - mode: 644
    - template: jinja
    - defaults :
      SERVER: 10.6.76.27
      HOSTNAME: {{ grains['fqdn'] }}
    - require:
      - pkg: zabbix-agent  #依赖于上面的状态,包装上了才执行这个。

  service.running:  #不写name  IDzabbix-agent 就是name
    - 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

 

执行

[root@pe-jira zabbix]# salt 'test-tms' state.sls  zabbix.zabbix-agent
test-tms:
----------
          ID: /etc/yum.repos.d/epel.repo
    Function: file.managed
      Result: True
     Comment: File /etc/yum.repos.d/epel.repo updated
     Started: 17:04:26.779587
    Duration: 21.937 ms
     Changes:
              ----------
              diff:
                  ---
                  +++
                  @@ -1,27 +1,23 @@
                  -
                   [epel]
                   name=Extra Packages for Enterprise Linux 7 - $basearch
                  -baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
                  -#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
                  +baseurl=http://mirrors.aliyun.com/epel/7/$basearch
                   failovermethod=priority
                   enabled=1
                  -gpgcheck=1
                  +gpgcheck=0
                   gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
                  -
                  +
                   [epel-debuginfo]
                   name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
                  -baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
                  -#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
                  +baseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug
                   failovermethod=priority
                   enabled=0
                   gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
                  -gpgcheck=1
                  -
                  +gpgcheck=0
                  +
                   [epel-source]
                   name=Extra Packages for Enterprise Linux 7 - $basearch - Source
                  -baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
                  -#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
                  +baseurl=http://mirrors.aliyun.com/epel/7/SRPMS
                   failovermethod=priority
                   enabled=0
                   gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
                  -gpgcheck=1
                  +gpgcheck=0
----------
          ID: zabbix-agent
    Function: pkg.installed
        Name: zabbix22-agent
      Result: True
     Comment: The following packages were installed/updated: zabbix22-agent
     Started: 17:04:27.257194
    Duration: 15733.395 ms
     Changes:
              ----------
              zabbix22:
                  ----------
                  new:
                      2.2.23-1.el7
                  old:
              zabbix22-agent:
                  ----------
                  new:
                      2.2.23-1.el7
                  old:
----------
          ID: zabbix-agent
    Function: file.managed
        Name: /etc/zabbix_agentd.conf
      Result: True
     Comment: File /etc/zabbix_agentd.conf updated
     Started: 17:04:42.993354
    Duration: 29.384 ms
     Changes:
              ----------
              diff:
                  ---
                  +++
                  @@ -1,284 +1,7 @@
                  -# This is a config file for the Zabbix agent daemon (Unix)
                  -# To get more information about Zabbix, visit http://www.zabbix.com
                  -
                  -############ GENERAL PARAMETERS #################
                  -
                  -### Option: PidFile
                  -#    Name of PID file.
                  -#
                  -# Mandatory: no
                  -# Default:
                   PidFile=/run/zabbix/zabbix_agentd.pid
                  -
                  -### Option: LogFile
                  -#    Name of log file.
                  -#    If not set, syslog is used.
                  -#
                  -# Mandatory: no
                  -# Default:
                  -# LogFile=
                  -
                   LogFile=/var/log/zabbix/zabbix_agentd.log
                  -
                  -### Option: LogFileSize
                  -#    Maximum size of log file in MB.
                  -#    0 - disable automatic log rotation.
                  -#
                  -# Mandatory: no
                  -# Range: 0-1024
                  -# Default:
                   LogFileSize=0
                  -
                  -### Option: DebugLevel
                  -#    Specifies debug level
                  -#    0 - no debug
                  -#    1 - critical information
                  -#    2 - error information
                  -#    3 - warnings
                  -#    4 - for debugging (produces lots of information)
                  -#
                  -# Mandatory: no
                  -# Range: 0-4
                  -# Default:
                  -# DebugLevel=3
                  -
                  -### Option: SourceIP
                  -#    Source IP address for outgoing connections.
                  -#
                  -# Mandatory: no
                  -# Default:
                  -# SourceIP=
                  -
                  -### Option: EnableRemoteCommands
                  -#    Whether remote commands from Zabbix server are allowed.
                  -#    0 - not allowed
                  -#    1 - allowed
                  -#
                  -# Mandatory: no
                  -# Default:
                  -# EnableRemoteCommands=0
                  -
                  -### Option: LogRemoteCommands
                  -#    Enable logging of executed shell commands as warnings.
                  -#    0 - disabled
                  -#    1 - enabled
                  -#
                  -# Mandatory: no
                  -# Default:
                  -# LogRemoteCommands=0
                  -
                  -##### Passive checks related
                  -
                  -### Option: Server
                  -#    List of comma delimited IP addresses (or hostnames) of Zabbix servers.
                  -#    Incoming connections will be accepted only from the hosts listed here.
                  -#    If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.
                  -#
                  -# Mandatory: no
                  -# Default:
                  -# Server=
                  -
                  -Server=127.0.0.1
                  -
                  -### Option: ListenPort
                  -#    Agent will listen on this port for connections from the server.
                  -#
                  -# Mandatory: no
                  -# Range: 1024-32767
                  -# Default:
                  -# ListenPort=10050
                  -
                  -### Option: ListenIP
                  -#    List of comma delimited IP addresses that the agent should listen on.
                  -#    First IP address is sent to Zabbix server if connecting to it to retrieve list of active checks.
                  -#
                  -# Mandatory: no
                  -# Default:
                  -# ListenIP=0.0.0.0
                  -
                  -### Option: StartAgents
                  -#    Number of pre-forked instances of zabbix_agentd that process passive checks.
                  -#    If set to 0, disables passive checks and the agent will not listen on any TCP port.
                  -#
                  -# Mandatory: no
                  -# Range: 0-100
                  -# Default:
                  -# StartAgents=3
                  -
                  -##### Active checks related
                  -
                  -### Option: ServerActive
                  -#    List of comma delimited IP:port (or hostname:port) pairs of Zabbix servers for active checks.
                  -#    If port is not specified, default port is used.
                  -#    IPv6 addresses must be enclosed in square brackets if port for that host is specified.
                  -#    If port is not specified, square brackets for IPv6 addresses are optional.
                  -#    If this parameter is not specified, active checks are disabled.
                  -#    Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
                  -#
                  -# Mandatory: no
                  -# Default:
                  -# ServerActive=
                  -
                  +Server=10.6.76.27
                   ServerActive=127.0.0.1
                  -
                  -### Option: Hostname
                  -#    Unique, case sensitive hostname.
                  -#    Required for active checks and must match hostname as configured on the server.
                  -#    Value is acquired from HostnameItem if undefined.
                  -#
                  -# Mandatory: no
                  -# Default:
                  -# Hostname=
                  -
                  -Hostname=Zabbix server
                  -
                  -### Option: HostnameItem
                  -#    Item used for generating Hostname if it is undefined. Ignored if Hostname is defined.
                  -#    Does not support UserParameters or aliases.
                  -#
                  -# Mandatory: no
                  -# Default:
                  -# HostnameItem=system.hostname
                  -
                  -### Option: HostMetadata
                  -#    Optional parameter that defines host metadata.
                  -#    Host metadata is used at host auto-registration process.
                  -#    An agent will issue an error and not start if the value is over limit of 255 characters.
                  -#    If not defined, value will be acquired from HostMetadataItem.
                  -#
                  -# Mandatory: no
                  -# Range: 0-255 characters
                  -# Default:
                  -# HostMetadata=
                  -
                  -### Option: HostMetadataItem
                  -#    Optional parameter that defines an item used for getting host metadata.
                  -#    Host metadata is used at host auto-registration process.
                  -#    During an auto-registration request an agent will log a warning message if
                  -#    the value returned by specified item is over limit of 255 characters.
                  -#    This option is only used when HostMetadata is not defined.
                  -#
                  -# Mandatory: no
                  -# Default:
                  -# HostMetadataItem=
                  -
                  -### Option: RefreshActiveChecks
                  -#    How often list of active checks is refreshed, in seconds.
                  -#
                  -# Mandatory: no
                  -# Range: 60-3600
                  -# Default:
                  -# RefreshActiveChecks=120
                  -
                  -### Option: BufferSend
                  -#    Do not keep data longer than N seconds in buffer.
                  -#
                  -# Mandatory: no
                  -# Range: 1-3600
                  -# Default:
                  -# BufferSend=5
                  -
                  -### Option: BufferSize
                  -#    Maximum number of values in a memory buffer. The agent will send
                  -#    all collected data to Zabbix Server or Proxy if the buffer is full.
                  -#
                  -# Mandatory: no
                  -# Range: 2-65535
                  -# Default:
                  -# BufferSize=100
                  -
                  -### Option: MaxLinesPerSecond
                  -#    Maximum number of new lines the agent will send per second to Zabbix Server
                  -#    or Proxy processing 'log' and 'logrt' active checks.
                  -#    The provided value will be overridden by the parameter 'maxlines',
                  -#    provided in 'log' or 'logrt' item keys.
                  -#
                  -# Mandatory: no
                  -# Range: 1-1000
                  -# Default:
                  -# MaxLinesPerSecond=100
                  -
                  -############ ADVANCED PARAMETERS #################
                  -
                  -### Option: Alias
                  -#    Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one.
                  -#    Multiple Alias parameters may be present. Multiple parameters with the same Alias key are not allowed.
                  -#    Different Alias keys may reference the same item key.
                  -#    For example, to retrieve the ID of user 'zabbix':
                  -#    Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1]
                  -#    Now shorthand key zabbix.userid may be used to retrieve data.
                  -#    Aliases can be used in HostMetadataItem but not in HostnameItem parameters.
                  -#
                  -# Mandatory: no
                  -# Range:
                  -# Default:
                  -
                  -### Option: Timeout
                  -#    Spend no more than Timeout seconds on processing
                  -#
                  -# Mandatory: no
                  -# Range: 1-30
                  -# Default:
                  -# Timeout=3
                  -
                  -### Option: AllowRoot
                  -#    Allow the agent to run as 'root'. If disabled and the agent is started by 'root', the agent
                  -#    will try to switch to user 'zabbix' instead. Has no effect if started under a regular user.
                  -#    0 - do not allow
                  -#    1 - allow
                  -#
                  -# Mandatory: no
                  -# Default:
                  -# AllowRoot=0
                  -
                  -### Option: Include
                  -#    You may include individual files or all files in a directory in the configuration file.
                  -#    Installing Zabbix will create include directory in /etc, unless modified during the compile time.
                  -#
                  -# Mandatory: no
                  -# Default:
                  -# Include=
                  -
                  -# Include=/etc/zabbix_agentd.userparams.conf
                  -# Include=/etc/zabbix_agentd.conf.d/
                  -
                  -####### USER-DEFINED MONITORED PARAMETERS #######
                  -
                  -### Option: UnsafeUserParameters
                  -#    Allow all characters to be passed in arguments to user-defined parameters.
                  -#    0 - do not allow
                  -#    1 - allow
                  -#
                  -# Mandatory: no
                  -# Range: 0-1
                  -# Default:
                  -# UnsafeUserParameters=0
                  -
                  -### Option: UserParameter
                  -#    User-defined parameter to monitor. There can be several user-defined parameters.
                  -#    Format: UserParameter=<key>,<shell command>
                  -#    See 'zabbix_agentd' directory for examples.
                  -#
                  -# Mandatory: no
                  -# Default:
                  -# UserParameter=
                  -
                  -####### LOADABLE MODULES #######
                  -
                  -### Option: LoadModulePath
                  -#    Full path to location of agent modules.
                  -#    Default depends on compilation options.
                  -#
                  -# Mandatory: no
                  -# Default:
                  -# LoadModulePath=${libdir}/modules
                  -
                  -### Option: LoadModule
                  -#    Module to load at agent startup. Modules are used to extend functionality of the agent.
                  -#    Format: LoadModule=<module.so>
                  -#    The modules must be located in directory specified by LoadModulePath.
                  -#    It is allowed to include multiple LoadModule parameters.
                  -#
                  -# Mandatory: no
                  -# Default:
                  -# LoadModule=
                  +Hostname=test-tms
                  +Include=/etc/zabbix_agentd.conf.d/
----------
          ID: zabbix-agent.conf.d
    Function: file.directory
        Name: /etc/zabbix_agentd.conf.d
      Result: True
     Comment: Directory /etc/zabbix_agentd.conf.d updated
     Started: 17:04:43.040614
    Duration: 0.898 ms
     Changes:
              ----------
              /etc/zabbix_agentd.conf.d:
                  New Dir
----------
          ID: zabbix-agent
    Function: service.running
      Result: True
     Comment: Service zabbix-agent has been enabled, and is running
     Started: 17:04:43.041840
    Duration: 759.625 ms
     Changes:
              ----------
              zabbix-agent:
                  True

Summary
------------
Succeeded: 5 (changed=5)
Failed:    0
------------
Total states run:     5
[root@pe-jira zabbix]#
salt 'test-tms' state.sls zabbix.zabbix-agent

 

posted on 2019-06-11 08:47  光阴8023  阅读(373)  评论(0编辑  收藏  举报