{"id":28411,"date":"2022-09-21T15:30:29","date_gmt":"2022-12-11T19:48:24","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/ansible%ef%bc%88zabbix40%ef%bc%89%e7%ac%94%e8%ae%b0-2\/"},"modified":"2025-08-12T08:01:56","modified_gmt":"2025-08-12T00:01:56","slug":"ansible%ef%bc%88zabbix40%ef%bc%89%e7%ac%94%e8%ae%b0-2","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/ansible%ef%bc%88zabbix40%ef%bc%89%e7%ac%94%e8%ae%b0-2\/","title":{"rendered":"Ansible\uff08Zabbix40\uff09\u7b14\u8bb0"},"content":{"rendered":"<h1>Zabbix40\u7684Ansible Playbook\u3002<\/p>\n<h2>\u6e38\u6c11<\/p>\n<pre class=\"post-pre\"><code>Vagrant.configure(\"2\") do |config|\r\n  config.vm.box = \"centos\/7\"\r\n  config.vm.define \"host\" do |server|\r\n    server.vm.network \"private_network\", ip: \"192.168.33.10\"\r\n  end\r\n  config.vm.define \"server1\" do |server|\r\n    server.vm.network \"private_network\", ip: \"192.168.33.11\"\r\n  end\r\n  config.vm.define \"server2\" do |server|\r\n    server.vm.network \"private_network\", ip: \"192.168.33.12\"\r\n  end\r\nend\r\n<\/code><\/pre>\n<h2>\u547d\u4ee4\u5386\u53f2<\/p>\n<pre class=\"post-pre\"><code>[vagrant@localhost zabbix40-ansible]$ history\r\nansible-playbook -i inventory\/inventory.ini site.yml\r\nansible-playbook -i inventory\/inventory.ini site.yml --check --start-at-task=\"create database zabbix\" -vvv\r\nansible-playbook -i inventory\/inventory.ini site.yml --check --start-at-task=\"modify file \/etc\/my.cnf.d\/server.cnf\" -vvv\r\nansible-playbook -i inventory\/inventory.ini site.yml --check --start-at-task=\"yum install zabbix\" -vvv\r\nansible-playbook -i inventory\/inventory.ini site.yml --check -vvv\r\nansible-playbook -i inventory\/inventory.ini site.yml --start-at-task=\"enabled and start zabbix-server\" -vv\r\nansible-playbook -i inventory\/inventory.ini site.yml --start-at-task=\"set firewall zabbix-agent.service\" -vv\r\nsudo ssh-copy-id -i ~\/.ssh\/id_rsa.pub vagrant@192.168.33.11\r\nsudo vi inventory\/inventory.ini\r\nsudo vi roles\/agent\/handlers\/main.yml\r\nsudo vi roles\/agent\/tasks\/check.yml\r\nsudo vi roles\/agent\/tasks\/main.yml\r\nsudo vi roles\/common\/tasks\/check.yml\r\nsudo vi roles\/common\/tasks\/main.yml\r\nsudo vi roles\/server\/handlers\/main.yml\r\nsudo vi roles\/server\/tasks\/check.yml\r\nsudo vi roles\/server\/tasks\/main.yml\r\nsudo vi roles\/server\/vars\/centos7.yml\r\nsudo yum install ansible\r\nsudo yum install epel-release\r\nsudo yum install git\r\nsudo yum update -y\r\n<\/code><\/pre>\n<h2>\u6a39\u7684\u7d50\u679c<\/p>\n<pre class=\"post-pre\"><code><span class=\"err\">\u2502<\/span>  <span class=\"n\">site<\/span><span class=\"p\">.<\/span><span class=\"n\">yml<\/span>\r\n<span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u251c\u2500<\/span><span class=\"n\">inventory<\/span>\r\n<span class=\"err\">\u2502<\/span>      <span class=\"n\">inventory<\/span><span class=\"p\">.<\/span><span class=\"n\">ini<\/span>\r\n<span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2514\u2500<\/span><span class=\"n\">roles<\/span>\r\n    <span class=\"err\">\u251c\u2500<\/span><span class=\"n\">agent<\/span>\r\n    <span class=\"err\">\u2502<\/span>  <span class=\"err\">\u251c\u2500<\/span><span class=\"n\">handlers<\/span>\r\n    <span class=\"err\">\u2502<\/span>  <span class=\"err\">\u2502<\/span>      <span class=\"n\">main<\/span><span class=\"p\">.<\/span><span class=\"n\">yml<\/span>\r\n    <span class=\"err\">\u2502<\/span>  <span class=\"err\">\u2502<\/span>\r\n    <span class=\"err\">\u2502<\/span>  <span class=\"err\">\u2514\u2500<\/span><span class=\"n\">tasks<\/span>\r\n    <span class=\"err\">\u2502<\/span>          <span class=\"n\">check<\/span><span class=\"p\">.<\/span><span class=\"n\">yml<\/span>\r\n    <span class=\"err\">\u2502<\/span>          <span class=\"n\">main<\/span><span class=\"p\">.<\/span><span class=\"n\">yml<\/span>\r\n    <span class=\"err\">\u2502<\/span>\r\n    <span class=\"err\">\u251c\u2500<\/span><span class=\"n\">common<\/span>\r\n    <span class=\"err\">\u2502<\/span>  <span class=\"err\">\u251c\u2500<\/span><span class=\"n\">tasks<\/span>\r\n    <span class=\"err\">\u2502<\/span>  <span class=\"err\">\u2502<\/span>      <span class=\"n\">check<\/span><span class=\"p\">.<\/span><span class=\"n\">yml<\/span>\r\n    <span class=\"err\">\u2502<\/span>  <span class=\"err\">\u2502<\/span>      <span class=\"n\">main<\/span><span class=\"p\">.<\/span><span class=\"n\">yml<\/span>\r\n    <span class=\"err\">\u2502<\/span>  <span class=\"err\">\u2502<\/span>\r\n    <span class=\"err\">\u2502<\/span>  <span class=\"err\">\u2514\u2500<\/span><span class=\"n\">vars<\/span>\r\n    <span class=\"err\">\u2502<\/span>          <span class=\"n\">centos7<\/span><span class=\"p\">.<\/span><span class=\"n\">yml<\/span>\r\n    <span class=\"err\">\u2502<\/span>          <span class=\"n\">centos8<\/span><span class=\"p\">.<\/span><span class=\"n\">yml<\/span>\r\n    <span class=\"err\">\u2502<\/span>\r\n    <span class=\"err\">\u2514\u2500<\/span><span class=\"n\">server<\/span>\r\n        <span class=\"err\">\u251c\u2500<\/span><span class=\"n\">handlers<\/span>\r\n        <span class=\"err\">\u2502<\/span>      <span class=\"n\">main<\/span><span class=\"p\">.<\/span><span class=\"n\">yml<\/span>\r\n        <span class=\"err\">\u2502<\/span>\r\n        <span class=\"err\">\u251c\u2500<\/span><span class=\"n\">tasks<\/span>\r\n        <span class=\"err\">\u2502<\/span>      <span class=\"n\">check<\/span><span class=\"p\">.<\/span><span class=\"n\">yml<\/span>\r\n        <span class=\"err\">\u2502<\/span>      <span class=\"n\">main<\/span><span class=\"p\">.<\/span><span class=\"n\">yml<\/span>\r\n        <span class=\"err\">\u2502<\/span>\r\n        <span class=\"err\">\u251c\u2500<\/span><span class=\"n\">templates<\/span>\r\n        <span class=\"err\">\u2502<\/span>      <span class=\"n\">zabbix<\/span><span class=\"p\">.<\/span><span class=\"n\">conf<\/span><span class=\"p\">.<\/span><span class=\"n\">php<\/span><span class=\"p\">.<\/span><span class=\"n\">j2<\/span>\r\n        <span class=\"err\">\u2502<\/span>\r\n        <span class=\"err\">\u2514\u2500<\/span><span class=\"n\">vars<\/span>\r\n                <span class=\"n\">centos7<\/span><span class=\"p\">.<\/span><span class=\"n\">yml<\/span>\r\n                <span class=\"n\">centos8<\/span><span class=\"p\">.<\/span><span class=\"n\">yml<\/span>\r\n<\/code><\/pre>\n<h2>\u6839\u6e90<\/p>\n<pre class=\"post-pre\"><code><span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">setup server<\/span>\r\n  <span class=\"na\">hosts<\/span><span class=\"pi\">:<\/span> <span class=\"s\">servers<\/span>\r\n  <span class=\"na\">roles<\/span><span class=\"pi\">:<\/span>\r\n   <span class=\"pi\">-<\/span> <span class=\"s\">common<\/span>\r\n   <span class=\"pi\">-<\/span> <span class=\"s\">server<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">setup agent<\/span>\r\n  <span class=\"na\">hosts<\/span><span class=\"pi\">:<\/span> <span class=\"s\">agents<\/span>\r\n  <span class=\"na\">roles<\/span><span class=\"pi\">:<\/span>\r\n   <span class=\"pi\">-<\/span> <span class=\"s\">common<\/span>\r\n   <span class=\"pi\">-<\/span> <span class=\"s\">agent<\/span>\r\n<\/code><\/pre>\n<h2>\u5e93\u5b58<\/p>\n<pre class=\"post-pre\"><code><span class=\"nn\">[servers]<\/span>\r\n<span class=\"err\">server1<\/span> <span class=\"py\">ansible_ssh_host<\/span><span class=\"p\">=<\/span><span class=\"s\">192.168.33.11 ansible_ssh_user=vagrant<\/span>\r\n<span class=\"nn\">[agents]<\/span>\r\n<span class=\"err\">server2<\/span> <span class=\"py\">ansible_ssh_host<\/span><span class=\"p\">=<\/span><span class=\"s\">192.168.33.12 ansible_ssh_user=vagrant<\/span>\r\n<span class=\"nn\">[all:vars]<\/span>\r\n<span class=\"py\">timezone<\/span><span class=\"p\">=<\/span><span class=\"s\">\"Asia\/Tokyo\"<\/span>\r\n<span class=\"py\">zabbix_server_ip<\/span><span class=\"p\">=<\/span><span class=\"s\">\"192.168.11.11\"<\/span>\r\n<span class=\"nn\">[servers:vars]<\/span>\r\n<span class=\"py\">zabbix_mysql_password<\/span><span class=\"p\">=<\/span><span class=\"s\">\"password\"<\/span>\r\n<\/code><\/pre>\n<h2>\u89d2\u8272<\/p>\n<h3>\u670d\u52a1\u5668<\/p>\n<h4>\u4efb\u52a1<\/p>\n<pre class=\"post-pre\"><code><span class=\"pi\">-<\/span> <span class=\"na\">include<\/span><span class=\"pi\">:<\/span> <span class=\"s\">tasks\/check.yml<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">set firewall http.service<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">firewalld<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">service<\/span><span class=\"pi\">:<\/span> <span class=\"s\">http<\/span>\r\n    <span class=\"na\">permanent<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">true<\/span>\r\n    <span class=\"na\">immediate<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n    <span class=\"na\">state<\/span><span class=\"pi\">:<\/span> <span class=\"s\">enabled<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">set firewall snmptrap.service<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">firewalld<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">service<\/span><span class=\"pi\">:<\/span> <span class=\"s\">snmptrap<\/span>\r\n    <span class=\"na\">permanent<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">true<\/span>\r\n    <span class=\"na\">immediate<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n    <span class=\"na\">state<\/span><span class=\"pi\">:<\/span> <span class=\"s\">enabled<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">set firewall zabbix-server.service<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">firewalld<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"s\">10051\/tcp<\/span>\r\n    <span class=\"na\">permanent<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">true<\/span>\r\n    <span class=\"na\">immediate<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n    <span class=\"na\">state<\/span><span class=\"pi\">:<\/span> <span class=\"s\">enabled<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yum install zabbix<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">yum<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">{{<\/span> <span class=\"s\">yum_list<\/span> <span class=\"s\">}}\"<\/span>\r\n<span class=\"c1\">#- name: modify file {{ mysql_server_file }}<\/span>\r\n<span class=\"c1\">#  become: yes<\/span>\r\n<span class=\"c1\">#  lineinfile:<\/span>\r\n<span class=\"c1\">#    path: \"{{ mysql_server_file }}\"<\/span>\r\n<span class=\"c1\">#    regexp: ^innodb_file_per_table<\/span>\r\n<span class=\"c1\">#    insertafter: '^\\[mysqld\\]'<\/span>\r\n<span class=\"c1\">#    line: innodb_file_per_table = 1<\/span>\r\n<span class=\"c1\">#  notify: restart mysqld<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">enabled and start {{ mysql_name }}<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">service<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">{{<\/span> <span class=\"s\">mysql_name<\/span> <span class=\"s\">}}\"<\/span>\r\n    <span class=\"na\">state<\/span><span class=\"pi\">:<\/span> <span class=\"s\">started<\/span>\r\n    <span class=\"na\">enabled<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">create database zabbix<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">mysql_db<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">zabbix<\/span>\r\n    <span class=\"na\">encoding<\/span><span class=\"pi\">:<\/span> <span class=\"s\">utf8<\/span>\r\n    <span class=\"na\">collation<\/span><span class=\"pi\">:<\/span> <span class=\"s\">utf8_bin<\/span>\r\n    <span class=\"na\">state<\/span><span class=\"pi\">:<\/span> <span class=\"s\">present<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">create dbuser zabbix<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">mysql_user<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">zabbix<\/span>\r\n    <span class=\"na\">password<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">{{<\/span> <span class=\"s\">vars.zabbix_mysql_password<\/span> <span class=\"s\">}}\"<\/span>\r\n    <span class=\"na\">priv<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">zabbix.*:ALL,GRANT'<\/span>\r\n    <span class=\"na\">state<\/span><span class=\"pi\">:<\/span> <span class=\"s\">present<\/span>\r\n  <span class=\"na\">no_log<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">true<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">check to exist zabbix table. ignore status is OK.<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">shell<\/span><span class=\"pi\">:<\/span> <span class=\"s\">mysql -u root -s zabbix -e \"select count(*) from users\"<\/span>\r\n  <span class=\"na\">ignore_errors<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">register<\/span><span class=\"pi\">:<\/span> <span class=\"s\">count_users<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">debug<\/span><span class=\"pi\">:<\/span> <span class=\"s\">var=count_users<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">insert zabbix DB<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">shell<\/span><span class=\"pi\">:<\/span> <span class=\"s\">zcat \/usr\/share\/doc\/zabbix-server-mysql*\/create.sql.gz | mysql zabbix -u root<\/span>\r\n  <span class=\"na\">when<\/span><span class=\"pi\">:<\/span> <span class=\"s\">count_users.rc != <\/span><span class=\"m\">0<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">modify file \/etc\/php-fpm.d\/zabbix.conf  centos8-only<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">lineinfile<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"s\">dest='\/etc\/php-fpm.d\/zabbix.conf'<\/span>\r\n    <span class=\"s\">state=present<\/span>\r\n    <span class=\"s\">backrefs=no<\/span>\r\n    <span class=\"s\">regexp='date.timezone'<\/span>\r\n    <span class=\"s\">line='php_value[date.timezone] = Asia\/Tokyo'<\/span> \r\n  <span class=\"na\">notify<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"s\">restart php-fpm<\/span>\r\n  <span class=\"na\">when<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ansible_distribution_major_version == '8'<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">modify httpd config centos7-only<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">lineinfile<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"s\">dest='\/etc\/httpd\/conf.d\/zabbix.conf'<\/span>\r\n    <span class=\"s\">state=present<\/span>\r\n    <span class=\"s\">backrefs=no<\/span>\r\n    <span class=\"s\">regexp='php_value date.timezone'<\/span>\r\n    <span class=\"s\">line='        php_value date.timezone Asia\/Tokyo'<\/span> \r\n  <span class=\"na\">notify<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"s\">restart httpd<\/span>\r\n  <span class=\"na\">when<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ansible_distribution_major_version == '7'<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">enabled and start httpd<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">service<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">httpd<\/span>\r\n    <span class=\"na\">state<\/span><span class=\"pi\">:<\/span> <span class=\"s\">started<\/span>\r\n    <span class=\"na\">enabled<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">modify file \/etc\/zabbix\/zabbix_server.conf<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">lineinfile<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"s\">dest='\/etc\/zabbix\/zabbix_server.conf'<\/span>\r\n    <span class=\"s\">state=present<\/span>\r\n    <span class=\"s\">backrefs=no<\/span>\r\n    <span class=\"s\">regexp='DBPassword=$'<\/span>\r\n    <span class=\"s\">line=\"DBPassword={{ vars.zabbix_mysql_password }}\"<\/span>\r\n  <span class=\"na\">no_log<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">true<\/span>\r\n  <span class=\"na\">notify<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"s\">restart zabbix-server<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">modify file \/etc\/zabbix\/web\/zabbix.conf.php<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">template<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">&gt;<\/span>\r\n    <span class=\"s\">src=zabbix.conf.php.j2<\/span>\r\n    <span class=\"s\">dest=\/etc\/zabbix\/web\/zabbix.conf.php<\/span>\r\n    <span class=\"s\">owner=apache<\/span>\r\n    <span class=\"s\">group=apache<\/span>\r\n    <span class=\"s\">mode=0644<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">enabled and start zabbix-server<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">service<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">zabbix-server<\/span>\r\n    <span class=\"na\">state<\/span><span class=\"pi\">:<\/span> <span class=\"s\">started<\/span>\r\n    <span class=\"na\">enabled<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">check OS distribution<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">fail<\/span><span class=\"pi\">:<\/span> <span class=\"s\">msg=\"Sorry. the playbook can only on Centos7 or Centos8.\"<\/span>\r\n  <span class=\"na\">when<\/span><span class=\"pi\">:<\/span> \r\n    <span class=\"pi\">-<\/span> <span class=\"s\">( ansible_distribution != 'CentOS' ) or<\/span>\r\n      <span class=\"s\">(( ansible_distribution_major_version != '8' ) and<\/span>\r\n      <span class=\"s\">( ansible_distribution_major_version != '7' ))<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">include CentOS7 yml<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">include_vars<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">file<\/span><span class=\"pi\">:<\/span> <span class=\"s\">centos7.yml<\/span>\r\n  <span class=\"na\">when<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ansible_distribution_major_version == '7'<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">include CentOS8 yml<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">include_vars<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">file<\/span><span class=\"pi\">:<\/span> <span class=\"s\">centos8.yml<\/span>\r\n  <span class=\"na\">when<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ansible_distribution_major_version == '8'<\/span>\r\n<\/code><\/pre>\n<h4>\u5904\u7406\u7a0b\u5e8f<\/p>\n<pre class=\"post-pre\"><code><span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">restart httpd<\/span>\r\n  <span class=\"na\">service<\/span><span class=\"pi\">:<\/span> <span class=\"s\">name=httpd state=restarted enabled=yes<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">restart php-fpm<\/span>\r\n  <span class=\"na\">service<\/span><span class=\"pi\">:<\/span> <span class=\"s\">name=php-fpm state=restarted enabled=yes<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">restart mariadb<\/span>\r\n  <span class=\"na\">service<\/span><span class=\"pi\">:<\/span> <span class=\"s\">name=mariadb state=restarted enabled=yes<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">restart mysqld<\/span>\r\n  <span class=\"na\">service<\/span><span class=\"pi\">:<\/span> <span class=\"s\">name=mysqld state=restarted enabled=yes<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">restart zabbix-server<\/span>\r\n  <span class=\"na\">service<\/span><span class=\"pi\">:<\/span> <span class=\"s\">name=zabbix-server state=restarted enabled=yes<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n<\/code><\/pre>\n<h4>\u6a21\u677f<\/p>\n<pre class=\"post-pre\"><code>&lt;?php\r\n\/\/ Zabbix GUI configuration file.\r\nglobal $DB;\r\n$DB['TYPE']     = 'MYSQL';\r\n$DB['SERVER']   = 'localhost';\r\n$DB['PORT']     = '0';\r\n$DB['DATABASE'] = 'zabbix';\r\n$DB['USER']     = 'zabbix';\r\n$DB['PASSWORD'] = '{{ vars.zabbix_mysql_password }}';\r\n\/\/ Schema name. Used for IBM DB2 and PostgreSQL.\r\n$DB['SCHEMA'] = '';\r\n$ZBX_SERVER      = 'localhost';\r\n$ZBX_SERVER_PORT = '10051';\r\n$ZBX_SERVER_NAME = '';\r\n$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;\r\n<\/code><\/pre>\n<h4>\u53d8\u91cf<\/p>\n<pre class=\"post-pre\"><code><span class=\"na\">yum_list<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">httpd<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">mariadb-server<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">MySQL-python<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">https:\/\/repo.zabbix.com\/zabbix\/4.0\/rhel\/7\/x86_64\/zabbix-server-mysql-4.0.9-3.el7.x86_64.rpm<\/span>\r\n<span class=\"c1\"># - zabbix-server-mysql<\/span>\r\n<span class=\"c1\"># - zabbix-web-mysql<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">https:\/\/repo.zabbix.com\/zabbix\/4.0\/rhel\/7\/x86_64\/zabbix-web-mysql-4.0.9-3.el7.noarch.rpm<\/span>\r\n<span class=\"c1\"># - zabbix-web-japanese<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">https:\/\/repo.zabbix.com\/zabbix\/4.0\/rhel\/7\/x86_64\/zabbix-web-japanese-4.0.9-3.el7.noarch.rpm<\/span>\r\n<span class=\"c1\"># - zabbix-get<\/span>\r\n<span class=\"c1\"># - zabbix-get-4.0.9-3.el7.x86_64.rpm<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">https:\/\/repo.zabbix.com\/zabbix\/4.0\/rhel\/7\/x86_64\/zabbix-get-4.0.44-1.el7.x86_64.rpm<\/span>\r\n<span class=\"c1\"># - zabbix-agent<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">https:\/\/repo.zabbix.com\/zabbix\/4.0\/rhel\/7\/x86_64\/zabbix-agent-4.0.9-3.el7.x86_64.rpm<\/span>\r\n<span class=\"c1\"># - zabbix-sender<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">https:\/\/repo.zabbix.com\/zabbix\/4.0\/rhel\/7\/x86_64\/zabbix-sender-4.0.44-1.el7.x86_64.rpm<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">MySQL-python<\/span>\r\n<span class=\"na\">mysql_server_file<\/span><span class=\"pi\">:<\/span> <span class=\"s\">\/etc\/my.cnf.d\/server.cnf<\/span>\r\n<span class=\"na\">mysql_name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">mariadb<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"na\">yum_list<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">httpd<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">mysql-server<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">zabbix-server-mysql<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">zabbix-web<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">zabbix-get<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">python3-PyMySQL<\/span>\r\n<span class=\"na\">mysql_server_file<\/span><span class=\"pi\">:<\/span> <span class=\"s\">\/etc\/my.cnf.d\/mysql-server.cnf<\/span>\r\n<span class=\"na\">mysql_name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">mysqld<\/span>\r\n<\/code><\/pre>\n<h3>\u5e38\u89c1\u7684<\/p>\n<pre class=\"post-pre\"><code><\/code><\/pre>\n<h4>\u4efb\u52a1<\/p>\n<pre class=\"post-pre\"><code><span class=\"pi\">-<\/span> <span class=\"na\">include<\/span><span class=\"pi\">:<\/span> <span class=\"s\">tasks\/check.yml<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">disable selinux<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">selinux<\/span><span class=\"pi\">:<\/span>\r\n   <span class=\"na\">state<\/span><span class=\"pi\">:<\/span> <span class=\"s\">disabled<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">set hostname<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">hostname<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">{{<\/span> <span class=\"s\">inventory_hostname<\/span> <span class=\"s\">}}\"<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">set timezone<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">timezone<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">{{<\/span> <span class=\"s\">vars.timezone<\/span> <span class=\"s\">}}\"<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Install Zabbix Repo<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">yum<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">{{repo_url}}\"<\/span>\r\n    <span class=\"na\">state<\/span><span class=\"pi\">:<\/span> <span class=\"s\">present<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">check OS distribution<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">fail<\/span><span class=\"pi\">:<\/span> <span class=\"s\">msg=\"Sorry. the playbook can only on Centos7 or Centos8.\"<\/span>\r\n  <span class=\"na\">when<\/span><span class=\"pi\">:<\/span> \r\n    <span class=\"pi\">-<\/span> <span class=\"s\">( ansible_distribution != 'CentOS' ) or<\/span>\r\n      <span class=\"s\">(( ansible_distribution_major_version != '8' ) and<\/span>\r\n      <span class=\"s\">( ansible_distribution_major_version != '7' ))<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">include CentOS7 yml<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">include_vars<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">file<\/span><span class=\"pi\">:<\/span> <span class=\"s\">centos7.yml<\/span>\r\n  <span class=\"na\">when<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ansible_distribution_major_version == '7'<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">include CentOS8 yml<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">include_vars<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">file<\/span><span class=\"pi\">:<\/span> <span class=\"s\">centos8.yml<\/span>\r\n  <span class=\"na\">when<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ansible_distribution_major_version == '8'<\/span>\r\n<\/code><\/pre>\n<h4>\u53d8\u91cf<\/p>\n<pre class=\"post-pre\"><code><span class=\"na\">repo_url<\/span><span class=\"pi\">:<\/span> <span class=\"s\">https:\/\/repo.zabbix.com\/zabbix\/4.0\/rhel\/7\/x86_64\/zabbix-release-4.0-2.el7.noarch.rpm<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"na\">repo_url<\/span><span class=\"pi\">:<\/span> <span class=\"s\">https:\/\/repo.zabbix.com\/zabbix\/4.0\/rhel\/8\/x86_64\/zabbix-release-4.0-2.el8.noarch.rpm<\/span>\r\n<\/code><\/pre>\n<h3>\u4ee3\u7406\u4eba<\/p>\n<h4>\u5904\u7406\u8005<\/p>\n<pre class=\"post-pre\"><code><span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">restart zabbix-agent<\/span>\r\n  <span class=\"na\">service<\/span><span class=\"pi\">:<\/span> <span class=\"s\">name=zabbix-agent state=restarted enabled=yes<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n<\/code><\/pre>\n<h4>\u4efb\u52a1<\/p>\n<pre class=\"post-pre\"><code><span class=\"pi\">-<\/span> <span class=\"na\">include<\/span><span class=\"pi\">:<\/span> <span class=\"s\">tasks\/check.yml<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">set firewall zabbix-agent.service<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">firewalld<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"s\">10050\/tcp<\/span>\r\n    <span class=\"na\">permanent<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">true<\/span>\r\n    <span class=\"na\">immediate<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n    <span class=\"na\">state<\/span><span class=\"pi\">:<\/span> <span class=\"s\">enabled<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yum install zabbix-agent<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">yum<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"s\">zabbix-agent<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">modify file \/etc\/zabbix\/zabbix_agentd.conf<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">lineinfile<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"s\">dest='\/etc\/zabbix\/zabbix_agentd.conf'<\/span>\r\n    <span class=\"s\">state=present<\/span>\r\n    <span class=\"s\">backrefs=no<\/span>\r\n    <span class=\"s\">regexp='^Hostname'<\/span>\r\n    <span class=\"s\">line='#Hostname='<\/span>\r\n  <span class=\"na\">notify<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"s\">restart zabbix-agent<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">modify file \/etc\/zabbix\/zabbix_agentd.conf<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">lineinfile<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"s\">dest='\/etc\/zabbix\/zabbix_agentd.conf'<\/span>\r\n    <span class=\"s\">state=present<\/span>\r\n    <span class=\"s\">backrefs=no<\/span>\r\n    <span class=\"s\">regexp='^HostnameItem'<\/span>\r\n    <span class=\"s\">line='HostnameItem=system.hostname'<\/span>\r\n  <span class=\"na\">notify<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"s\">restart zabbix-agent<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">modify file \/etc\/zabbix\/zabbix_agentd.conf<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">lineinfile<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"s\">dest='\/etc\/zabbix\/zabbix_agentd.conf'<\/span>\r\n    <span class=\"s\">state=present<\/span>\r\n    <span class=\"s\">backrefs=no<\/span>\r\n    <span class=\"s\">regexp='^Server='<\/span>\r\n    <span class=\"s\">line='Server={{ vars.zabbix_server_ip }}'<\/span>\r\n  <span class=\"na\">notify<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"s\">restart zabbix-agent<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">modify file \/etc\/zabbix\/zabbix_agentd.conf<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">lineinfile<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"s\">dest='\/etc\/zabbix\/zabbix_agentd.conf'<\/span>\r\n    <span class=\"s\">state=present<\/span>\r\n    <span class=\"s\">backrefs=no<\/span>\r\n    <span class=\"s\">regexp='^ServerActive='<\/span>\r\n    <span class=\"s\">line='ServerActive={{ vars.zabbix_server_ip }}'<\/span>\r\n  <span class=\"na\">notify<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"s\">restart zabbix-agent<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">enabled and start zabbix-agent<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">service<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">zabbix-agent<\/span>\r\n    <span class=\"na\">state<\/span><span class=\"pi\">:<\/span> <span class=\"s\">started<\/span>\r\n    <span class=\"na\">enabled<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">check OS distribution<\/span>\r\n  <span class=\"na\">become<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yes<\/span>\r\n  <span class=\"na\">fail<\/span><span class=\"pi\">:<\/span> <span class=\"s\">msg=\"Sorry. the playbook can only on Centos7 or Centos8.\"<\/span>\r\n  <span class=\"na\">when<\/span><span class=\"pi\">:<\/span> \r\n    <span class=\"pi\">-<\/span> <span class=\"s\">( ansible_distribution != 'CentOS' ) or<\/span>\r\n      <span class=\"s\">(( ansible_distribution_major_version != '8' ) and<\/span>\r\n      <span class=\"s\">( ansible_distribution_major_version != '7' ))<\/span>\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Zabbix40\u7684Ansible Playbook\u3002 \u6e38\u6c11 Vagrant.configure(&#8220;2&#8221;) do [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[227],"class_list":["post-28411","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-227"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ansible\uff08Zabbix40\uff09\u7b14\u8bb0 - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"\u5173\u4e8eAnsible\uff08Zabbix40\uff09\u7b14\u8bb0\u7684\u6280\u672f\u6587\u7ae0\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/ansible\uff08zabbix40\uff09\u7b14\u8bb0-2\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ansible\uff08Zabbix40\uff09\u7b14\u8bb0\" \/>\n<meta property=\"og:description\" content=\"\u5173\u4e8eAnsible\uff08Zabbix40\uff09\u7b14\u8bb0\u7684\u6280\u672f\u6587\u7ae0\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/ansible\uff08zabbix40\uff09\u7b14\u8bb0-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-11T19:48:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-12T00:01:56+00:00\" \/>\n<meta name=\"author\" content=\"\u65b0, \u97f5\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u65b0, \u97f5\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/ansible%ef%bc%88zabbix40%ef%bc%89%e7%ac%94%e8%ae%b0-2\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/ansible%ef%bc%88zabbix40%ef%bc%89%e7%ac%94%e8%ae%b0-2\/\",\"name\":\"Ansible\uff08Zabbix40\uff09\u7b14\u8bb0 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2022-12-11T19:48:24+00:00\",\"dateModified\":\"2025-08-12T00:01:56+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/4ba4019495123db3038fd0809e6959c9\"},\"description\":\"\u5173\u4e8eAnsible\uff08Zabbix40\uff09\u7b14\u8bb0\u7684\u6280\u672f\u6587\u7ae0\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/ansible%ef%bc%88zabbix40%ef%bc%89%e7%ac%94%e8%ae%b0-2\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/ansible%ef%bc%88zabbix40%ef%bc%89%e7%ac%94%e8%ae%b0-2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/ansible%ef%bc%88zabbix40%ef%bc%89%e7%ac%94%e8%ae%b0-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ansible\uff08Zabbix40\uff09\u7b14\u8bb0\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/4ba4019495123db3038fd0809e6959c9\",\"name\":\"\u65b0, \u97f5\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g\",\"caption\":\"\u65b0, \u97f5\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunxin\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/ansible%ef%bc%88zabbix40%ef%bc%89%e7%ac%94%e8%ae%b0-2\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ansible\uff08Zabbix40\uff09\u7b14\u8bb0 - Blog - Silicon Cloud","description":"\u5173\u4e8eAnsible\uff08Zabbix40\uff09\u7b14\u8bb0\u7684\u6280\u672f\u6587\u7ae0","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/ansible\uff08zabbix40\uff09\u7b14\u8bb0-2\/","og_locale":"zh_CN","og_type":"article","og_title":"Ansible\uff08Zabbix40\uff09\u7b14\u8bb0","og_description":"\u5173\u4e8eAnsible\uff08Zabbix40\uff09\u7b14\u8bb0\u7684\u6280\u672f\u6587\u7ae0","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/ansible\uff08zabbix40\uff09\u7b14\u8bb0-2\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2022-12-11T19:48:24+00:00","article_modified_time":"2025-08-12T00:01:56+00:00","author":"\u65b0, \u97f5","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u65b0, \u97f5","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"1 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/ansible%ef%bc%88zabbix40%ef%bc%89%e7%ac%94%e8%ae%b0-2\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/ansible%ef%bc%88zabbix40%ef%bc%89%e7%ac%94%e8%ae%b0-2\/","name":"Ansible\uff08Zabbix40\uff09\u7b14\u8bb0 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2022-12-11T19:48:24+00:00","dateModified":"2025-08-12T00:01:56+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/4ba4019495123db3038fd0809e6959c9"},"description":"\u5173\u4e8eAnsible\uff08Zabbix40\uff09\u7b14\u8bb0\u7684\u6280\u672f\u6587\u7ae0","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/ansible%ef%bc%88zabbix40%ef%bc%89%e7%ac%94%e8%ae%b0-2\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/ansible%ef%bc%88zabbix40%ef%bc%89%e7%ac%94%e8%ae%b0-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/ansible%ef%bc%88zabbix40%ef%bc%89%e7%ac%94%e8%ae%b0-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"Ansible\uff08Zabbix40\uff09\u7b14\u8bb0"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/4ba4019495123db3038fd0809e6959c9","name":"\u65b0, \u97f5","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g","caption":"\u65b0, \u97f5"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunxin\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/ansible%ef%bc%88zabbix40%ef%bc%89%e7%ac%94%e8%ae%b0-2\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/28411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=28411"}],"version-history":[{"count":3,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/28411\/revisions"}],"predecessor-version":[{"id":111328,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/28411\/revisions\/111328"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=28411"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=28411"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=28411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}