批量更新zabbix中的主机名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量更新zabbix中的主机名相关的知识,希望对你有一定的参考价值。

原本zabbix中的agent段设置的hostname是ip地址 现在要改成linux的hostname,

首先用saltstack批量修改zabbix_agentd.conf

代码如下 

zabbix:

  file.append:

    - name: /usr/local/etc/zabbix_agentd.conf

    - text: Hostname={{ grains[‘fqdn‘] }}


接下来要修改zabbixserver数据库

代码如下,写的比较简单,

#!/bin/bash

for IP in `cat list.txt`

do



HOSTNAME=`salt -G "ipv4:$IP" cmd.run ‘hostname‘  --out=newline_values_only`





mysql #mysql登陆方式 <<EOF

USE zabbix;


UPDATE \`hosts\` SET \`host\`=‘$HOSTNAME‘ WHERE (\`host\`=‘$IP‘);


EOF


 

done


以上是关于批量更新zabbix中的主机名的主要内容,如果未能解决你的问题,请参考以下文章

使用shell脚本实现php应用的批量更新

Zabbix批量导入主机

zabbix主动模式修改

Ansible批量更新远程主机用户密码 (包括Ansible批量做ssh互信)

zabbix批量添加主机

zabbix自动发现和自动注册批量添加100台主机