Ansibleで各サーバーごとに zabbix_agentd.conf を用意するというのはイケてない。100台とかあったら毎回設定ファイルで変更するのはめんどくさすぎるし、運用上つらすぎる。

hostnameだけ変数化すれば一つのファイルで管理することができるので、今回 template モジュールを使って実装してみました。

"Server=","ServerActive=" の部分は変更を加えない
"Hostname=" を変数化してansible流すとhostsファイルをみて各サーバのhostnameを挿入する

※ちなみにsshはhostnameでログインできるようにしてます。


■構成

・tasks/main.yml

・templates/zabbix_agentd.conf


■まとめ

これで各サーバごとのconfファイルを1つのファイルで管理することができた!他にも変数化できるところあったらやっちゃおう。というかこれの応用。

[Ansible]マジック変数を使いこなしているか!?inventory_hostname編

参考
http://docs.ansible.com/ansible/template_module.html

カテゴリー: Ansible

adachi.ryo

1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。 個人事業主では数社サーバー保守とベンチャー企業のインフラコンサルティングを行うほか、TechBullを創業し、未経験者向けにSREのコーチングやコミュニティ運営、LT大会の開催、 会員管理システム「Members」の開発をリードしている。さらに、エンジニア向けYouTubeメディア「TECH WORLD」ではSREとの対談を行い、過去には脆弱性スキャナ「Vuls」のOSS活動にも貢献。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください