logdna.logdna
使用 Ansible 部署 LogDNA Agent
描述
Ansible Galaxy 角色用于安装和配置 LogDNA Agent。
需求
- Ansible 版本:
>=2.1
- 已在以下操作系统上测试:
- CentOS 6
- CentOS 7
- Ubuntu 12.04 - Precise
- Ubuntu 14.04 - Trusty
- Ubuntu 16.04 - Xenial
- Ubuntu 17.10 - Artful
- Debian 8 - Jessie
角色变量
任务特定变量
agent_install
:如果要安装则为true
(默认值:true
)agent_config
:如果要配置则为true
(默认值:true
)agent_service
:(默认值:started
),支持:started
:如果指定了conf_key
,则启动 LogDNA Agent 服务restarted
:重启 LogDNA Agent 服务stopped
:停止 LogDNA Agent 服务。
配置变量
这些变量与 LogDNA Agent 的本地配置选项直接对应:
conf_key
:LogDNA 采集密钥 - 如果未指定conf_key
,LogDNA Agent 服务将无法启动conf_config
:LogDNA Agent 配置的文件路径(默认值为/etc/logdna.conf
)conf_logdir
:要添加的日志目录conf_logfile
:要添加的日志文件conf_exclude
:要排除的日志文件或目录conf_exclude_regex
:日志行的排除规则conf_hostname
:要使用的替代主机名conf_tags
:要添加的标签。
如何安装
- 从 Ansible Galaxy 在线安装:
ansible-galaxy install logdna.logdna
- 从源代码直接安装:
ansible-galaxy install git+https://github.com/logdna/ansible-logdna.git
示例 Playbook
- hosts: <hosts>
vars:
conf_key: <LogDNA 采集密钥>
roles:
- { role: logdna.logdna }
使用案例
- 在指定主机上安装、配置并启动服务:
- hosts: <hosts>
vars:
conf_key: <LogDNA 采集密钥>
# 所有其他配置参数的说明
roles:
- { role: logdna.logdna }
- 在指定主机上重新配置并重启服务:
- hosts: <hosts>
vars:
# 重新配置的参数说明
agent_service: restarted
roles:
- { role: logdna.logdna }
- 仅安装,但不配置或触碰服务:
- hosts: <hosts>
vars:
# 不设置 LogDNA 采集密钥
agent_config: false
roles:
- { role: logdna.logdna }
- 停止服务:
- hosts: <hosts>
vars:
agent_install: false
agent_config: false
agent_service: stopped
roles:
- { role: logdna.logdna }
LogDNA 回调插件
LogDNA 回调插件是一个处理程序,用于将每次 ansible-playbook
运行中的日志发送到 LogDNA。目前支持以下类别的日志:STATS
、FAILED
、OK
、UNREACHABLE
、ASYNC_FAILED
、ASYNC_OK
。可以通过以下方式配置:
- 如果未安装 LogDNA Agent Python 包,请根据您使用的 Python 版本使用以下命令之一进行安装:
pip install logdna
或pip3 install logdna
- 如果您使用的 Ansible 版本低于
v2.6
(即<= v2.5
),请进行以下步骤:- 从 这里 下载插件到回调插件文件夹。可以通过以下命令找到该文件夹:
echo $(ansible-doc -F | awk 'FNR == 1 {print $2}' | sed 's/\/modules/+/g' | cut -d'+' -f 1)/plugins/callback
- 从 这里 下载插件到回调插件文件夹。可以通过以下命令找到该文件夹:
- 如果您的系统上没有
ansible.cfg
,请按以下步骤操作:- 通过
mkdir -p /etc/ansible
确保/etc/ansible
文件夹存在 - 从 这里 下载
ansible.cfg
到/etc/ansible/
- 通过
- 执行
ANSIBLE_CONFIG=< ansible.cfg 的路径 >
- 打开
ansible.cfg
并进行以下步骤:- 如果被注释,请取消注释包含
callback_whitelist
的行,并附加logdna
- 如果被注释,请取消注释包含
callback_plugins
的行,并更新回调插件的路径
- 如果被注释,请取消注释包含
- 为了使插件工作,以下环境变量应设置:
LOGDNA_INGESTION_KEY
:用于流式传输日志的 LogDNA 采集密钥 - 必需ANSIBLE_IGNORE_ERRORS
:是否在失败时忽略错误;默认为False
- 可选LOGDNA_HOSTNAME
:在日志中使用的替代主机名 - 可选LOGDNA_TAGS
:以逗号分隔的标签列表;默认为ansible
- 可选
贡献
欢迎任何贡献。请查看 贡献指南 了解您如何提供帮助。
许可证和作者
- 作者:Samir Musali,LogDNA
- 许可证:MIT