geerlingguy.munin-node
Ansible角色: Munin节点
在RedHat/CentOS或Debian/Ubuntu Linux服务器上安装munin-node,一个监控系统端点。
需求
如果使用RedHat/CentOS,确保在使用此角色之前安装EPEL仓库(可以使用geerlingguy.repo-epel
角色进行安装)。
角色变量
可用变量如下所示,并附带默认值:
munin_node_bind_host: "*"
munin_node_bind_port: "4949"
munin-node将绑定的主机和端口。常见的主机选项包括127.0.0.1
(本地)或*
(绑定所有IP地址)。4949
是默认的Munin端口。
munin_node_host_name: ''
如果在使用telnet连接到munin-node时,munin master没有报告正确的主机名,请显式设置此项。在大多数情况下,默认设置应能正常工作。
munin_node_allowed_ips:
- '^127\.0\.0\.1$'
- '^::1$'
以python样式的正则表达式格式列出的IP地址列表。必须使用单引号以确保正确的正则表达式转义传递到配置文件。具有这些IP地址的主机将被允许连接到服务器,并通过munin-node获取详细的系统统计信息。
munin_node_allowed_cidrs: []
以CIDR格式列出的IP网络列表,例如10.0.0.0/8
。具有其中一个网络中IP地址的主机将被允许连接到服务器,并通过munin-node获取详细的系统统计信息。
munin_node_denied_cidrs: []
以CIDR格式列出的IP网络列表,例如10.42.0.0/16
。具有其中一个网络中IP地址的主机将被拒绝访问服务器。这优先于munin_node_allowed_cidrs
:如果IP地址同时匹配munin_node_allowed_cidrs
中的网络和munin_node_denied_cidrs
中的网络,将被拒绝访问。
Munin插件配置
可以使用munin_node_plugins
列表启用插件,如下所示:
munin_node_plugins:
- name: uptime
如果生成的插件名称与其生成的munin插件名称不匹配(例如if_
插件),则需要为列表项添加plugin
字段,如下所示:
munin_node_plugins:
- name: if_eth0
plugin: if_
插件设置
如果您需要为通过munin_node_plugins
添加的插件添加插件配置,可以使用简单的哈希表,其中包含插件名称(这将在生成的配置文件中成为[plugin]
部分)和变量名称及值的列表。例如:
munin_node_config: {
"ps_test": {
"env.regex": "bash",
"env.name": "bash"
}
}
此配置将在/etc/munin/plugin-conf.d/ansible.conf
生成以下内容:
[ps_test]
env.regex bash
env.name bash
安装外部插件
您可以通过munin_node_install_plugins
安装外部插件。这些插件可以从本地文件复制或下载。例如:
munin_node_install_plugins: []
- src: files/munin/redis_
- remote_src: https://raw.githubusercontent.com/ohitz/phpfpm-multi-munin-plugin/master/phpfpm-multi
依赖
无。
示例剧本
- hosts: servers
roles:
- { role: geerlingguy.munin-node }
许可证
MIT / BSD
作者信息
该角色由Jeff Geerling于2014年创建,著作有Ansible for DevOps。
Munin插件配置由Rafał Trójniak ansible-galaxy@trojniak.net添加。
Munin node monitoring endpoint for RedHat/CentOS or Debian/Ubuntu.
ansible-galaxy install geerlingguy.munin-node