├── .github └── assets │ └── Grafana-Tutorial.png ├── LICENSE ├── Part1-Introduction of The Course └── Part1-Introduction Of course.pdf ├── Part2-Comparison of Monitoring Tools └── Part2-Comparision.pdf ├── Part3-Zabbix Architechure └── Part3-Zabbix Architechure.pdf ├── Part5-What is Terraform └── Part5-What Is Terraform.pdf ├── README.md ├── part10-monitor network device with snmp (mikrotik) ├── mib-oid-tree.jpg └── part10-monitor network device with snmp.pdf ├── part11-install zabbix proxy with ansible ├── part11-install zabbix proxy with ansible.pdf ├── part11-install zabbix proxy with ansible.pptx └── zabbix-proxy │ └── zabbix-proxy-ansible │ ├── inventory │ └── inventory.ini │ ├── roles │ ├── agent │ │ ├── handlers │ │ │ └── main.yml │ │ └── tasks │ │ │ ├── check.yml │ │ │ └── main.yml │ ├── common │ │ ├── tasks │ │ │ ├── check.yml │ │ │ └── main.yml │ │ └── vars │ │ │ ├── centos7.yml │ │ │ └── centos8.yml │ └── server │ │ ├── handlers │ │ └── main.yml │ │ ├── tasks │ │ ├── check.yml │ │ └── main.yml │ │ ├── templates │ │ └── zabbix_proxy.conf.j2 │ │ └── vars │ │ ├── centos7.yml │ │ └── centos8.yml │ └── site.yml ├── part14-create zabbix host with ansible ├── part14-create zabbix host with ansible.pdf └── zabbix-host │ ├── inventory │ └── inventory.ini │ ├── roles │ └── server │ │ ├── tasks │ │ └── main.yml │ │ └── vars │ │ ├── centos7.yml │ │ └── centos8.yml │ └── site.yml ├── part15-create zabbix user and usergroup with ansible ├── zabbix-usergroup │ └── zabbix-usergroup │ │ ├── inventory │ │ └── inventory.ini │ │ ├── roles │ │ └── server │ │ │ ├── tasks │ │ │ └── main.yml │ │ │ └── vars │ │ │ ├── centos7.yml │ │ │ └── centos8.yml │ │ └── site.yml └── zabbixuser │ ├── inventory │ └── inventory.ini │ ├── roles │ └── server │ │ ├── tasks │ │ └── main.yml │ │ └── vars │ │ ├── centos7.yml │ │ └── centos8.yml │ └── site.yml ├── part16-create zabbix role ,global macro , host macro with ansible ├── Part16-create zabbix role , global macro and hsot macro with ansible.pdf ├── globalmicro │ ├── inventory │ │ └── inventory.ini │ ├── roles │ │ └── server │ │ │ ├── tasks │ │ │ └── main.yml │ │ │ └── vars │ │ │ ├── centos7.yml │ │ │ └── centos8.yml │ └── site.yml ├── hostmicro │ ├── inventory │ │ └── inventory.ini │ ├── roles │ │ └── server │ │ │ ├── tasks │ │ │ └── main.yml │ │ │ └── vars │ │ │ ├── centos7.yml │ │ │ └── centos8.yml │ └── site.yml └── role │ ├── inventory │ └── inventory.ini │ ├── roles │ └── server │ │ ├── tasks │ │ └── main.yml │ │ └── vars │ │ ├── centos7.yml │ │ └── centos8.yml │ └── site.yml ├── part17-create zabbix trigger action with python └── zabbix.py ├── part18-create zabbix maintenance mode and housekeeping with ansible ├── zabbixhousekeeping │ ├── inventory │ │ └── inventory.ini │ ├── roles │ │ └── server │ │ │ ├── tasks │ │ │ └── main.yml │ │ │ └── vars │ │ │ ├── centos7.yml │ │ │ └── centos8.yml │ └── site.yml └── zabbixmaintenance │ ├── inventory │ └── inventory.ini │ ├── roles │ └── server │ │ ├── tasks │ │ └── main.yml │ │ └── vars │ │ ├── centos7.yml │ │ └── centos8.yml │ └── site.yml ├── part19-create map and action in zabbix with python ├── iran map.png ├── zabbixaction.py └── zabbixmap.py ├── part20-zabbix autoregistration and user parameters └── zabbix.pdf ├── part21-caculated and depenent item └── zabbix.pdf ├── part22-zabbix sender and trapper and zabbix-get └── zabbix.pdf ├── part23-LLD and Web Scenario in Zabbix └── zabbix.pdf ├── part24-Convert mib file to zabbix template ├── HUAWEI-MIB.mib ├── HUAWEI-MIB.mib.txt ├── template-huawei-mib.xml └── zabbix.pdf ├── part25-Send SMS and Telegram Alert in zabbix ├── telegrambot.JPG ├── telegrambot1.JPG ├── telegrambot2.JPG └── zabbix.pdf ├── part26-connect zabbix to promethous node_exporter ├── install promethus.txt └── zabbix.pdf ├── part27-install and manage grafana with bash and terraform ├── grafana.sh ├── main.tf ├── providers.tf └── zabbix.pdf ├── part28-install and integrate glpi with zabbix ├── glpi Installation.txt └── media_glpi.yaml ├── part4-What is Ansible └── Part4-What is Ansible.pdf ├── part6-install ansible ├── Install Ansible.txt ├── Part6-Install ansible.pptx ├── network diagram.PNG └── shekandns.sh ├── part7-Install Zabbix With Ansible ├── Part7-Install Zabbix with ansible.pdf └── zabbix │ └── zabbix-ansible-centos │ ├── inventory │ └── inventory.ini │ ├── roles │ ├── agent │ │ ├── handlers │ │ │ └── main.yml │ │ └── tasks │ │ │ ├── check.yml │ │ │ └── main.yml │ ├── common │ │ ├── tasks │ │ │ ├── check.yml │ │ │ └── main.yml │ │ └── vars │ │ │ ├── centos7.yml │ │ │ └── centos8.yml │ └── server │ │ ├── handlers │ │ └── main.yml │ │ ├── tasks │ │ ├── check.yml │ │ └── main.yml │ │ ├── templates │ │ └── zabbix.conf.php.j2 │ │ └── vars │ │ ├── centos7.yml │ │ └── centos8.yml │ └── site.yml ├── part8-Install zabbix Agent With ansible on linux servers └── Part8-install zabbix agent on linux.pptx.pdf └── part9-install zabbix agent on windows server ├── firewall port on win-server 10050.JPG ├── part9-install zabbix agent on windows server.pdf └── zabbix_agent2-6.4.1-windows-amd64-openssl.msi /.github/assets/Grafana-Tutorial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/.github/assets/Grafana-Tutorial.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /Part1-Introduction of The Course/Part1-Introduction Of course.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/Part1-Introduction of The Course/Part1-Introduction Of course.pdf -------------------------------------------------------------------------------- /Part2-Comparison of Monitoring Tools/Part2-Comparision.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/Part2-Comparison of Monitoring Tools/Part2-Comparision.pdf -------------------------------------------------------------------------------- /Part3-Zabbix Architechure/Part3-Zabbix Architechure.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/Part3-Zabbix Architechure/Part3-Zabbix Architechure.pdf -------------------------------------------------------------------------------- /Part5-What is Terraform/Part5-What Is Terraform.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/Part5-What is Terraform/Part5-What Is Terraform.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Zabbix and Grafana course resources 2 | 3 | ![image](./.github/assets/Grafana-Tutorial.png) 4 | 5 | ## What you can find here? 6 | 7 | Zabbix & Grafana tutorial is a free online course that helps you to learn how to install, manage and maintain these two amazing tools together. 8 | You can find resources related to our amazing **Zabbix & Grafana** course. 9 | 10 | ## I found a problem. what should I do? 11 | 12 | Oh, that's easy. Just try to pick one of the methods to contact me: 13 | 14 | - Create one issue and describe the problem. 15 | - Send me a message on Telegram: [Amir Mehdi Ajoodani](https://t.me/amirajoodani). 16 | - Find me on LinkedIn using this link: [Amir Mahdi Ajoodani](https://www.linkedin.com/in/amir-mahdi-ajoodani-263090124) 17 | 18 | ## Where I can Watch and Follow this course? 19 | 20 | Good question! , On youtube of course. Every DevopsHobbies course is published on the Youtube platform and you can use the below links to watch this course and other free and amazing courses. 21 | 22 | - [Course PlayList on Youtube](https://youtube.com/playlist?list=PLYrn63eEqAzaEkGmYAn6StHk4rqVEjd_g) 23 | - [DevopsHobbies youtube channel](https://youtube.com/@devopshobbies) 24 | -------------------------------------------------------------------------------- /part10-monitor network device with snmp (mikrotik)/mib-oid-tree.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part10-monitor network device with snmp (mikrotik)/mib-oid-tree.jpg -------------------------------------------------------------------------------- /part10-monitor network device with snmp (mikrotik)/part10-monitor network device with snmp.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part10-monitor network device with snmp (mikrotik)/part10-monitor network device with snmp.pdf -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/part11-install zabbix proxy with ansible.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part11-install zabbix proxy with ansible/part11-install zabbix proxy with ansible.pdf -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/part11-install zabbix proxy with ansible.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part11-install zabbix proxy with ansible/part11-install zabbix proxy with ansible.pptx -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/zabbix-proxy/zabbix-proxy-ansible/inventory/inventory.ini: -------------------------------------------------------------------------------- 1 | [servers] 2 | zabbix-server ansible_ssh_host=192.168.1.199 ansible_ssh_user=root 3 | [agents] 4 | zabbix-agent ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 5 | [zabbix-proxy] 6 | zabbix-proxy ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 7 | [all:vars] 8 | timezone="Asia/Tehran" 9 | [servers:vars] 10 | zabbix_mysql_password="password" 11 | -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/zabbix-proxy/zabbix-proxy-ansible/roles/agent/handlers/main.yml: -------------------------------------------------------------------------------- 1 | - name: restart zabbix-agent 2 | service: name=zabbix-agent state=restarted enabled=yes 3 | 4 | - name: reload firewalld 5 | service: name=firewalld state=restarted 6 | -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/zabbix-proxy/zabbix-proxy-ansible/roles/agent/tasks/check.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: check OS distribution 4 | ansible.builtin.fail: 5 | msg: "Sorry This playbook can only run on Centos7 or Centos8." 6 | when: ( ansible_distribution != 'CentOS' ) or (( ansible_distribution_major_version != '8' ) and ( ansible_distribution_major_version != '7' )) 7 | 8 | 9 | -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/zabbix-proxy/zabbix-proxy-ansible/roles/agent/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - include: tasks/check.yml 2 | 3 | - name: check if firewalld is running 4 | ansible.builtin.command: systemctl status firewalld 5 | register: firewalld_result 6 | 7 | 8 | - name: set firewalld port for zabbix-agent.service 9 | firewalld: 10 | port: 10050/tcp 11 | permanent: true 12 | immediate: yes 13 | state: enabled 14 | 15 | 16 | - name: yum install zabbix-agent 17 | yum: 18 | name: 19 | - zabbix-agent 20 | 21 | - name: modify file /etc/zabbix/zabbix_agentd.conf 22 | lineinfile: 23 | dest='/etc/zabbix/zabbix_agentd.conf' 24 | state=present 25 | backrefs=no 26 | regexp='^Hostname' 27 | line='#Hostname=' 28 | notify: 29 | - restart zabbix-agent 30 | 31 | - name: modify file /etc/zabbix/zabbix_agentd.conf 32 | lineinfile: 33 | dest='/etc/zabbix/zabbix_agentd.conf' 34 | state=present 35 | backrefs=no 36 | regexp='^HostnameItem' 37 | line='HostnameItem=system.hostname' 38 | notify: 39 | - restart zabbix-agent 40 | 41 | - name: modify file /etc/zabbix/zabbix_agentd.conf 42 | lineinfile: 43 | dest='/etc/zabbix/zabbix_agentd.conf' 44 | state=present 45 | backrefs=no 46 | regexp='^Server=' 47 | line='Server={{ vars.zabbix_server_ip }}' 48 | notify: 49 | - restart zabbix-agent 50 | 51 | - name: modify file /etc/zabbix/zabbix_agentd.conf 52 | lineinfile: 53 | dest='/etc/zabbix/zabbix_agentd.conf' 54 | state=present 55 | backrefs=no 56 | regexp='^ServerActive=' 57 | line='ServerActive={{ vars.zabbix_server_ip }}' 58 | notify: 59 | - restart zabbix-agent 60 | 61 | - name: enabled and start zabbix-agent 62 | service: 63 | name: zabbix-agent 64 | state: started 65 | enabled: yes 66 | 67 | -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/zabbix-proxy/zabbix-proxy-ansible/roles/common/tasks/check.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: check OS distribution 4 | ansible.builtin.fail: 5 | msg: "Sorry This playbook can only run on Centos7 or Centos8." 6 | when: ( ansible_distribution != 'CentOS' ) or (( ansible_distribution_major_version != '8' ) and ( ansible_distribution_major_version != '7' )) 7 | 8 | 9 | - name: include CentOS7 yml 10 | include_vars: 11 | file: centos7.yml 12 | when: ansible_distribution_major_version == '7' 13 | 14 | 15 | - name: include CentOS8 yml 16 | include_vars: 17 | file: centos8.yml 18 | when: ansible_distribution_major_version == '8' 19 | 20 | -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/zabbix-proxy/zabbix-proxy-ansible/roles/common/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - include: tasks/check.yml 2 | 3 | - name: disable selinux 4 | selinux: 5 | state: disabled 6 | 7 | - name: set hostname 8 | hostname: 9 | name: "{{ inventory_hostname }}" 10 | 11 | - name: Install Zabbix Repo 12 | yum: 13 | name: "{{repo_url}}" 14 | state: present 15 | disable_gpg_check: True 16 | 17 | -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/zabbix-proxy/zabbix-proxy-ansible/roles/common/vars/centos7.yml: -------------------------------------------------------------------------------- 1 | repo_url: https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 2 | -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/zabbix-proxy/zabbix-proxy-ansible/roles/common/vars/centos8.yml: -------------------------------------------------------------------------------- 1 | repo_url: https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm 2 | -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/zabbix-proxy/zabbix-proxy-ansible/roles/server/handlers/main.yml: -------------------------------------------------------------------------------- 1 | 2 | - name: restart mariadb 3 | service: name=mariadb state=restarted enabled=yes 4 | 5 | - name: restart mysqld 6 | service: name=mysqld state=restarted enabled=yes 7 | 8 | - name: restart zabbix-proxy 9 | service: name=zabbix-proxy state=restarted enabled=yes 10 | -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/zabbix-proxy/zabbix-proxy-ansible/roles/server/tasks/check.yml: -------------------------------------------------------------------------------- 1 | - name: check OS distribution 2 | fail: msg="Sorry. The playbook can only run on Centos7 or Centos8." 3 | when: 4 | - ( ansible_distribution != 'CentOS' ) or 5 | (( ansible_distribution_major_version != '8' ) and 6 | ( ansible_distribution_major_version != '7' )) 7 | - name: include CentOS7 yml 8 | include_vars: 9 | file: centos7.yml 10 | when: ansible_distribution_major_version == '7' 11 | - name: include CentOS8 yml 12 | include_vars: 13 | file: centos8.yml 14 | when: ansible_distribution_major_version == '8' 15 | 16 | -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/zabbix-proxy/zabbix-proxy-ansible/roles/server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - include: tasks/check.yml 2 | 3 | 4 | - name: set firewall snmptrap.service 5 | firewalld: 6 | service: snmptrap 7 | permanent: true 8 | immediate: yes 9 | state: enabled 10 | 11 | - name: set firewall zabbix-proxy.service 12 | firewalld: 13 | port: 10051/tcp 14 | permanent: true 15 | immediate: yes 16 | state: enabled 17 | 18 | - name: yum install zabbix 19 | yum: 20 | name: "{{ yum_list }}" 21 | 22 | - name: modify file {{ mysql_server_file }} 23 | lineinfile: 24 | path: "{{ mysql_server_file }}" 25 | regexp: ^innodb_file_per_table 26 | insertafter: '^\[mysqld\]' 27 | line: innodb_file_per_table = 1 28 | notify: restart mysqld 29 | 30 | - name: enabled and start {{ mysql_name }} 31 | service: 32 | name: "{{ mysql_name }}" 33 | state: started 34 | enabled: yes 35 | 36 | - name: create database zabbix-porxy 37 | mysql_db: 38 | name: zabbix-proxy 39 | encoding: utf8 40 | collation: utf8_bin 41 | state: present 42 | 43 | - name: create dbuser zabbix-proxy 44 | mysql_user: 45 | name: zabbix-proxy 46 | password: 135792468 47 | priv: 'zabbix-proxy.*:ALL,GRANT' 48 | state: present 49 | 50 | 51 | - name: modify file /etc/zabbix/zabbix_proxy.conf ser db password 52 | lineinfile: 53 | dest='/etc/zabbix/zabbix_proxy.conf' 54 | state=present 55 | backrefs=no 56 | regexp='DBPassword=$' 57 | line="DBPassword= 135792468" 58 | 59 | - name: modify file /etc/zabbix/zabbix_proxy.conf 60 | lineinfile: 61 | dest='/etc/zabbix/zabbix_proxy.conf' 62 | state=present 63 | backrefs=no 64 | regexp='ProxyMode=$' 65 | line="ProxyMode=0" 66 | 67 | - name: modify file /etc/zabbix/zabbix_proxy.conf 68 | lineinfile: 69 | dest='/etc/zabbix/zabbix_proxy.conf' 70 | state=present 71 | backrefs=no 72 | regexp='Server=$' 73 | line="Server=192.168.1.199" 74 | 75 | - name: modify file /etc/zabbix/zabbix_proxy.conf 76 | lineinfile: 77 | dest='/etc/zabbix/zabbix_proxy.conf' 78 | state=present 79 | backrefs=no 80 | regexp='Hostname=$' 81 | line="Hostname=zabbix-proxy" 82 | 83 | - name: modify file /etc/zabbix/zabbix_proxy.conf 84 | lineinfile: 85 | dest='/etc/zabbix/zabbix_proxy.conf' 86 | state=present 87 | backrefs=no 88 | regexp='DBHost=$' 89 | line="DBHost=localhost" 90 | 91 | - name: modify file /etc/zabbix/zabbix_proxy.conf 92 | lineinfile: 93 | dest='/etc/zabbix/zabbix_proxy.conf' 94 | state=present 95 | backrefs=no 96 | regexp='DBName=$' 97 | line="DBName=zabbix-proxy" 98 | 99 | - name: modify file /etc/zabbix/zabbix_proxy.conf 100 | lineinfile: 101 | dest='/etc/zabbix/zabbix_proxy.conf' 102 | state=present 103 | backrefs=no 104 | regexp='DBUser=$' 105 | line="DBUser=zabbix-proxy" 106 | notify: 107 | - restart zabbix-proxy 108 | 109 | 110 | 111 | 112 | - name: enabled and start zabbix-proxy 113 | service: 114 | name: zabbix-proxy 115 | state: started 116 | enabled: yes 117 | 118 | -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/zabbix-proxy/zabbix-proxy-ansible/roles/server/templates/zabbix_proxy.conf.j2: -------------------------------------------------------------------------------- 1 | s is a configuration file for Zabbix Proxy process 2 | # To get more information about Zabbix, 3 | # visit http://www.zabbix.com 4 | 5 | ############ GENERAL PARAMETERS ################# 6 | 7 | ### Option: ProxyMode 8 | # Proxy operating mode 9 | # 0 - proxy in the active mode 10 | # 1 - proxy in the passive mode 11 | # 12 | ProxyMode={{ zabbix_proxy_mode }} 13 | 14 | ### Option: Server 15 | # IP address (or hostname) of Zabbix server. 16 | # Active proxy will get configuration data from the server. 17 | # For a proxy in the passive mode this parameter will be ignored. 18 | # 19 | Server={{ zabbix_server_host }} 20 | 21 | ### Option: ServerPort 22 | # Port of Zabbix trapper on Zabbix server. 23 | # For a proxy in the passive mode this parameter will be ignored. 24 | # 25 | ServerPort={{ zabbix_server_port }} 26 | 27 | ### Option: Hostname 28 | # Unique, case sensitive Proxy name. Make sure the Proxy name is known to the server! 29 | # Value is acquired from HostnameItem if undefined. 30 | # 31 | {% if zabbix_proxy_hostname is defined and zabbix_proxy_hostname %} 32 | Hostname={{ zabbix_proxy_hostname }} 33 | {% endif %} 34 | 35 | ### Option: HostnameItem 36 | # Item used for generating Hostname if it is undefined. 37 | # Ignored if Hostname is defined. 38 | # 39 | # Mandatory: no 40 | # Default: 41 | # HostnameItem=system.hostname 42 | {% if zabbix_proxy_hostnameitem is defined and zabbix_proxy_hostnameitem %} 43 | HostnameItem={{ zabbix_proxy_hostnameitem }} 44 | {% endif %} 45 | 46 | ### Option: ListenPort 47 | # Listen port for trapper. 48 | # 49 | ListenPort={{ zabbix_proxy_listenport }} 50 | 51 | ### Option: SourceIP 52 | # Source IP address for outgoing connections. 53 | # 54 | {% if zabbix_proxy_sourceip is defined and zabbix_proxy_sourceip %} 55 | SourceIP={{ zabbix_proxy_sourceip }} 56 | {% endif %} 57 | 58 | ### Option: LogFile 59 | # Name of log file. 60 | # If not set, syslog is used. 61 | # 62 | LogFile={{ zabbix_proxy_logfile }} 63 | 64 | ### Option: LogFileSize 65 | # Maximum size of log file in MB. 66 | # 0 - disable automatic log rotation. 67 | # 68 | LogFileSize={{ zabbix_proxy_logfilesize }} 69 | 70 | ### Option: EnableRemoteCommands 71 | # Whether remote commands from Zabbix server are allowed. 72 | # 0 - not allowed 73 | # 1 - allowed 74 | # 75 | EnableRemoteCommands={{ zabbix_proxy_enableremotecommands }} 76 | 77 | ### Option: DebugLevel 78 | # Specifies debug level 79 | # 0 - no debug 80 | # 1 - critical information 81 | # 2 - error information 82 | # 3 - warnings 83 | # 4 - for debugging (produces lots of information) 84 | # 85 | DebugLevel={{ zabbix_proxy_debuglevel }} 86 | 87 | ### Option: PidFile 88 | # Name of PID file. 89 | # 90 | PidFile={{ zabbix_proxy_pidfile }} 91 | {% if zabbix_version is version('3.2', '>') %} 92 | ### Option: SocketDir 93 | # Location of the socketfile 94 | # 95 | SocketDir={{ zabbix_proxy_socketdir }} 96 | {% endif %} 97 | ### Option: DBHost 98 | # Database host name. 99 | # If set to localhost, socket is used for MySQL. 100 | # If set to empty string, socket is used for PostgreSQL. 101 | # 102 | DBHost={{ zabbix_proxy_dbhost }} 103 | 104 | ### Option: DBName 105 | # Database name. 106 | # For SQLite3 path to database file must be provided. DBUser and DBPassword are ignored. 107 | # Warning: do not attempt to use the same database Zabbix server is using. 108 | # 109 | DBName={{ zabbix_proxy_dbname }} 110 | 111 | ### Option: DBSchema 112 | # Schema name. Used for IBM DB2. 113 | # 114 | {% if zabbix_proxy_dbschema is defined and zabbix_proxy_dbschema %} 115 | DBSchema={{ zabbix_proxy_dbschema }} 116 | {% endif %} 117 | 118 | ### Option: DBUser 119 | # Database user. Ignored for SQLite. 120 | # 121 | DBUser={{ zabbix_proxy_dbuser }} 122 | 123 | ### Option: DBPassword 124 | # Database password. Ignored for SQLite. 125 | # Comment this line if no password is used. 126 | # 127 | DBPassword={{ zabbix_proxy_dbpassword }} 128 | 129 | ### Option: DBSocket 130 | # Path to MySQL socket. 131 | # 132 | 133 | # Option: DBPort 134 | # Database port when not using local socket. Ignored for SQLite. 135 | # 136 | DBPort={{ zabbix_proxy_dbport }} 137 | 138 | ######### PROXY SPECIFIC PARAMETERS ############# 139 | 140 | ### Option: ProxyLocalBuffer 141 | # Proxy will keep data locally for N hours, even if the data have already been synced with the server. 142 | # This parameter may be used if local data will be used by third party applications. 143 | # 144 | ProxyLocalBuffer={{ zabbix_proxy_localbuffer }} 145 | 146 | ### Option: ProxyOfflineBuffer 147 | # Proxy will keep data for N hours in case if no connectivity with Zabbix Server. 148 | # Older data will be lost. 149 | # 150 | ProxyOfflineBuffer={{ zabbix_proxy_offlinebuffer }} 151 | 152 | ### Option: HeartbeatFrequency 153 | # Frequency of heartbeat messages in seconds. 154 | # Used for monitoring availability of Proxy on server side. 155 | # 0 - heartbeat messages disabled. 156 | # For a proxy in the passive mode this parameter will be ignored. 157 | # 158 | HeartbeatFrequency={{ zabbix_proxy_heartbeatfrequency }} 159 | 160 | ### Option: ConfigFrequency 161 | # How often proxy retrieves configuration data from Zabbix Server in seconds. 162 | # For a proxy in the passive mode this parameter will be ignored. 163 | # 164 | ConfigFrequency={{ zabbix_proxy_configfrequency }} 165 | 166 | ### Option: DataSenderFrequency 167 | # Proxy will send collected data to the Server every N seconds. 168 | # For a proxy in the passive mode this parameter will be ignored. 169 | # 170 | DataSenderFrequency={{ zabbix_proxy_datasenderfrequency }} 171 | 172 | ############ ADVANCED PARAMETERS ################ 173 | 174 | ### Option: StartPollers 175 | # Number of pre-forked instances of pollers. 176 | # 177 | StartPollers={{ zabbix_proxy_startpollers }} 178 | 179 | ### Option: StartIPMIPollers 180 | # Number of pre-forked instances of IPMI pollers. 181 | # 182 | StartIPMIPollers={{ zabbix_proxy_startipmipollers }} 183 | 184 | ### Option: StartPollersUnreachable 185 | # Number of pre-forked instances of pollers for unreachable hosts (including IPMI). 186 | # 187 | StartPollersUnreachable={{ zabbix_proxy_startpollersunreachable }} 188 | 189 | ### Option: StartTrappers 190 | # Number of pre-forked instances of trappers. 191 | # Trappers accept incoming connections from Zabbix sender and active agents. 192 | # 193 | StartTrappers={{ zabbix_proxy_starttrappers }} 194 | 195 | ### Option: StartPingers 196 | # Number of pre-forked instances of ICMP pingers. 197 | # 198 | StartPingers={{ zabbix_proxy_startpingers }} 199 | 200 | ### Option: StartDiscoverers 201 | # Number of pre-forked instances of discoverers. 202 | # 203 | StartDiscoverers={{ zabbix_proxy_startdiscoverers }} 204 | 205 | ### Option: StartHTTPPollers 206 | # Number of pre-forked instances of HTTP pollers. 207 | # 208 | StartHTTPPollers={{ zabbix_proxy_starthttppollers }} 209 | 210 | ### Option: JavaGateway 211 | # IP address (or hostname) of Zabbix Java gateway. 212 | # Only required if Java pollers are started. 213 | # 214 | {% if zabbix_proxy_javagateway is defined and zabbix_proxy_javagateway %} 215 | JavaGateway={{ zabbix_proxy_javagateway }} 216 | 217 | ### Option: JavaGatewayPort 218 | # Port that Zabbix Java gateway listens on. 219 | # 220 | JavaGatewayPort={{ zabbix_proxy_javagatewayport }} 221 | 222 | ### Option: StartJavaPollers 223 | # Number of pre-forked instances of Java pollers. 224 | # 225 | StartJavaPollers={{ zabbix_proxy_startjavapollers }} 226 | {% endif %} 227 | 228 | {% if zabbix_version is version_compare('2.4', '>=') %} 229 | ### Option: StartVMwareCollectors 230 | # Number of pre-forked vmware collector instances. 231 | # 232 | StartVMwareCollectors={{ zabbix_proxy_startvmwarecollector }} 233 | 234 | ### Option: VMwareFrequency 235 | # How often Zabbix will connect to VMware service to obtain a new data. 236 | # 237 | VMwareFrequency={{ zabbix_proxy_vmwarefrequency }} 238 | 239 | ### Option: VMwareCacheSize 240 | # Size of VMware cache, in bytes. 241 | # Shared memory size for storing VMware data. 242 | # Only used if VMware collectors are started. 243 | # 244 | VMwareCacheSize={{ zabbix_proxy_vmwarecachesize -}}M 245 | {% endif %} 246 | 247 | ### Option: SNMPTrapperFile 248 | # Temporary file used for passing data from SNMP trap daemon to the proxy. 249 | # Must be the same as in zabbix_trap_receiver.pl or SNMPTT configuration file. 250 | # 251 | SNMPTrapperFile={{ zabbix_proxy_snmptrapperfile }} 252 | 253 | ### Option: StartSNMPTrapper 254 | # If 1, SNMP trapper process is started. 255 | # 256 | StartSNMPTrapper={{ zabbix_proxy_snmptrapper }} 257 | 258 | ### Option: ListenIP 259 | # List of comma delimited IP addresses that the trapper should listen on. 260 | # Trapper will listen on all network interfaces if this parameter is missing. 261 | # 262 | {% if zabbix_proxy_listenip is defined and zabbix_proxy_listenip %} 263 | ListenIP={{ zabbix_proxy_listenip }} 264 | {% endif %} 265 | 266 | ### Option: HousekeepingFrequency 267 | # How often Zabbix will perform housekeeping procedure (in hours). 268 | # Housekeeping is removing unnecessary information from history, alert, and alarms tables. 269 | # 270 | HousekeepingFrequency={{ zabbix_proxy_housekeepingfrequency }} 271 | 272 | ### Option: CacheSize 273 | # Size of configuration cache, in bytes. 274 | # Shared memory size, for storing hosts and items data. 275 | # 276 | CacheSize={{ zabbix_proxy_cachesize -}}M 277 | 278 | ### Option: StartDBSyncers 279 | # Number of pre-forked instances of DB Syncers 280 | # 281 | StartDBSyncers={{ zabbix_proxy_startdbsyncers }} 282 | 283 | ### Option: HistoryCacheSize 284 | # Size of history cache, in bytes. 285 | # Shared memory size for storing history data. 286 | # 287 | HistoryCacheSize={{ zabbix_proxy_historycachesize -}}M 288 | 289 | {% if zabbix_version is version_compare('3.2', '>=') %} 290 | ### Option: HistoryIndexCacheSize 291 | # Size of history index cache, in bytes. 292 | # Shared memory size for indexing history cache. 293 | # 294 | # Mandatory: no 295 | # Range: 128K-2G 296 | # Default: 297 | HistoryIndexCacheSize={{ zabbix_proxy_historyindexcachesize -}}M 298 | {% endif %} 299 | 300 | {% if zabbix_version is version_compare('2.4', '<') %} 301 | ### Option: HistoryTextCacheSize 302 | # Size of text history cache, in bytes. 303 | # Shared memory size for storing character, text or log history data. 304 | # 305 | HistoryTextCacheSize={{ zabbix_proxy_historytextcachesize -}}M 306 | {% endif %} 307 | 308 | ### Option: Timeout 309 | # Specifies how long we wait for agent, SNMP device or external check (in seconds). 310 | # 311 | Timeout={{ zabbix_proxy_timeout }} 312 | 313 | ### Option: TrapperTimeout 314 | # Specifies how many seconds trapper may spend processing new data. 315 | # 316 | TrapperTimeout={{ zabbix_proxy_trappertimeout }} 317 | 318 | ### Option: UnreachablePeriod 319 | # After how many seconds of unreachability treat a host as unavailable. 320 | # 321 | UnreachablePeriod={{ zabbix_proxy_unreachableperiod }} 322 | 323 | ### Option: UnavailableDelay 324 | # How often host is checked for availability during the unavailability period, in seconds. 325 | # 326 | UnavailableDelay={{ zabbix_proxy_unavaliabledelay }} 327 | 328 | ### Option: UnreachableDelay 329 | # How often host is checked for availability during the unreachability period, in seconds. 330 | # 331 | UnreachableDelay={{ zabbix_proxy_unreachabedelay }} 332 | 333 | ### Option: ExternalScripts 334 | # Full path to location of external scripts. 335 | # Default depends on compilation options. 336 | # 337 | ExternalScripts={{ zabbix_proxy_externalscripts }} 338 | 339 | ### Option: FpingLocation 340 | # Location of fping. 341 | # Make sure that fping binary has root ownership and SUID flag set. 342 | # 343 | FpingLocation={{ zabbix_proxy_fpinglocation }} 344 | 345 | ### Option: Fping6Location 346 | # Location of fping6. 347 | # Make sure that fping6 binary has root ownership and SUID flag set. 348 | # Make empty if your fping utility is capable to process IPv6 addresses. 349 | # 350 | Fping6Location={{ zabbix_proxy_fping6location }} 351 | 352 | ### Option: SSHKeyLocation 353 | # Location of public and private keys for SSH checks and actions. 354 | # 355 | {% if zabbix_proxy_sshkeylocation is defined and zabbix_proxy_sshkeylocation %} 356 | SSHKeyLocation={{ zabbix_proxy_sshkeylocation }} 357 | {% endif %} 358 | 359 | ### Option: LogSlowQueries 360 | # How long a database query may take before being logged (in milliseconds). 361 | # Only works if DebugLevel set to 3 or 4. 362 | # 0 - don't log slow queries. 363 | # 364 | LogSlowQueries={{ zabbix_proxy_loglowqueries }} 365 | 366 | ### Option: TmpDir 367 | # Temporary directory. 368 | # 369 | TmpDir={{ zabbix_proxy_tmpdir }} 370 | 371 | {% if zabbix_version is version_compare('2.4', '<') %} 372 | ### Option: AllowRoot 373 | # Allow the proxy to run as 'root'. If disabled and the proxy is started by 'root', the proxy 374 | # will try to switch to user 'zabbix' instead. Has no effect if started under a regular user. 375 | # 0 - do not allow 376 | # 1 - allow 377 | # 378 | AllowRoot={{ zabbix_proxy_allowroot }} 379 | {% endif %} 380 | 381 | ### Option: Include 382 | # You may include individual files or all files in a directory in the configuration file. 383 | # Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time. 384 | # 385 | Include={{ zabbix_proxy_include }} 386 | 387 | ####### LOADABLE MODULES ####### 388 | 389 | {% if zabbix_version is version_compare('3.0', '<') %} 390 | ### Option: LoadModulePath 391 | # Full path to location of proxy modules. 392 | # Default depends on compilation options. 393 | # 394 | LoadModulePath={{ zabbix_proxy_loadmodulepath }} 395 | {% endif %} 396 | 397 | ### Option: LoadModule 398 | # Module to load at proxy startup. Modules are used to extend functionality of the proxy. 399 | # Format: LoadModule= 400 | # The modules must be located in directory specified by LoadModulePath. 401 | # It is allowed to include multiple LoadModule parameters. 402 | # 403 | {% if zabbix_proxy_loadmodule is defined and zabbix_proxy_loadmodule %} 404 | LoadModule={{ zabbix_proxy_loadmodule }} 405 | {% endif %} 406 | 407 | {% if zabbix_version is version_compare('3.0', '>=') %} 408 | ####### TLS-RELATED PARAMETERS ####### 409 | 410 | ### Option: TLSConnect 411 | # How the agent should connect to server or proxy. Used for active checks. 412 | # Only one value can be specified: 413 | # unencrypted - connect without encryption 414 | # psk - connect using TLS and a pre-shared key 415 | # cert - connect using TLS and a certificate 416 | # 417 | # Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection) 418 | # Default: 419 | # TLSConnect=unencrypted 420 | {% if zabbix_proxy_tlsconnect is defined and zabbix_proxy_tlsconnect %} 421 | TLSConnect={{ zabbix_proxy_tlsconnect }} 422 | {% endif %} 423 | 424 | ### Option: TLSAccept 425 | # What incoming connections to accept. 426 | # Multiple values can be specified, separated by comma: 427 | # unencrypted - accept connections without encryption 428 | # psk - accept connections secured with TLS and a pre-shared key 429 | # cert - accept connections secured with TLS and a certificate 430 | # 431 | # Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection) 432 | # Default: 433 | # TLSAccept=unencrypted 434 | {% if zabbix_proxy_tlsaccept is defined and zabbix_proxy_tlsaccept %} 435 | TLSAccept={{ zabbix_proxy_tlsaccept }} 436 | {% endif %} 437 | 438 | ### Option: TLSCAFile 439 | # Full pathname of a file containing the top-level CA(s) certificates for 440 | # peer certificate verification. 441 | # 442 | # Mandatory: no 443 | # Default: 444 | # TLSCAFile= 445 | {% if zabbix_proxy_tlscafile is defined and zabbix_proxy_tlscafile %} 446 | TLSCAFile={{ zabbix_proxy_tlscafile }} 447 | {% endif %} 448 | 449 | ### Option: TLSCRLFile 450 | # Full pathname of a file containing revoked certificates. 451 | # 452 | # Mandatory: no 453 | # Default: 454 | # TLSCRLFile= 455 | {% if zabbix_proxy_tlscrlfile is defined and zabbix_proxy_tlscrlfile %} 456 | TLSCRLFile={{ zabbix_proxy_tlscrlfile }} 457 | {% endif %} 458 | 459 | ### Option: TLSServerCertIssuer 460 | # Allowed server certificate issuer. 461 | # 462 | # Mandatory: no 463 | # Default: 464 | # TLSServerCertIssuer= 465 | {% if zabbix_proxy_tlsservercertissuer is defined and zabbix_proxy_tlsservercertissuer %} 466 | TLSServerCertIssuer={{ zabbix_proxy_tlsservercertissuer }} 467 | {% endif %} 468 | 469 | ### Option: TLSServerCertSubject 470 | # Allowed server certificate subject. 471 | # 472 | # Mandatory: no 473 | # Default: 474 | # TLSServerCertSubject= 475 | {% if zabbix_proxy_tlsservercertsubject is defined and zabbix_proxy_tlsservercertsubject %} 476 | TLSServerCertSubject={{ zabbix_proxy_tlsservercertsubject }} 477 | {% endif %} 478 | 479 | ### Option: TLSCertFile 480 | # Full pathname of a file containing the agent certificate or certificate chain. 481 | # 482 | # Mandatory: no 483 | # Default: 484 | # TLSCertFile= 485 | {% if zabbix_proxy_tlscertfile is defined and zabbix_proxy_tlscertfile %} 486 | TLSCertFile={{ zabbix_proxy_tlscertfile }} 487 | {% endif %} 488 | 489 | ### Option: TLSKeyFile 490 | # Full pathname of a file containing the agent private key. 491 | # 492 | # Mandatory: no 493 | # Default: 494 | # TLSKeyFile= 495 | {% if zabbix_proxy_tlskeyfile is defined and zabbix_proxy_tlskeyfile %} 496 | TLSKeyFile={{ zabbix_proxy_tlskeyfile }} 497 | {% endif %} 498 | 499 | ### Option: TLSPSKIdentity 500 | # Unique, case sensitive string used to identify the pre-shared key. 501 | # 502 | # Mandatory: no 503 | # Default: 504 | # TLSPSKIdentity= 505 | {% if zabbix_proxy_tlspskidentity is defined and zabbix_proxy_tlspskidentity %} 506 | TLSPSKIdentity={{ zabbix_proxy_tlspskidentity }} 507 | {% endif %} 508 | 509 | ### Option: TLSPSKFile 510 | # Full pathname of a file containing the pre-shared key. 511 | # 512 | # Mandatory: no 513 | # Default: 514 | # TLSPSKFile= 515 | {% if zabbix_proxy_tlspskfile is defined and zabbix_proxy_tlspskfile %} 516 | TLSPSKFile={{ zabbix_proxy_tlspskfile }} 517 | {% endif %} 518 | {% endif %} 519 | -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/zabbix-proxy/zabbix-proxy-ansible/roles/server/vars/centos7.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mariadb-server 3 | - MySQL-python 4 | - zabbix-get 5 | - zabbix-agent 6 | - zabbix-sender 7 | - zabbix-proxy-mysql 8 | - zabbix-sql-scripts 9 | 10 | mysql_server_file: /etc/my.cnf.d/server.cnf 11 | mysql_name: mariadb 12 | -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/zabbix-proxy/zabbix-proxy-ansible/roles/server/vars/centos8.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mysql-server 3 | - zabbix-get 4 | - python3-PyMySQL 5 | - zabbix-proxy-mysql 6 | - zabbix-sql-scripts 7 | mysql_server_file: /etc/my.cnf.d/mysql-server.cnf 8 | mysql_name: mysqld 9 | 10 | -------------------------------------------------------------------------------- /part11-install zabbix proxy with ansible/zabbix-proxy/zabbix-proxy-ansible/site.yml: -------------------------------------------------------------------------------- 1 | - name: setup proxy 2 | hosts: zabbix-proxy 3 | roles: 4 | - common 5 | - server 6 | - name: setup agent 7 | hosts: agents 8 | roles: 9 | - common 10 | - agent 11 | -------------------------------------------------------------------------------- /part14-create zabbix host with ansible/part14-create zabbix host with ansible.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part14-create zabbix host with ansible/part14-create zabbix host with ansible.pdf -------------------------------------------------------------------------------- /part14-create zabbix host with ansible/zabbix-host/inventory/inventory.ini: -------------------------------------------------------------------------------- 1 | [servers] 2 | zabbix-server ansible_ssh_host=192.168.1.199 ansible_ssh_user=root 3 | [agents] 4 | zabbix-agent ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 5 | [zabbix-proxy] 6 | zabbix-proxy ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 7 | [all:vars] 8 | timezone="Asia/Tehran" 9 | [servers:vars] 10 | zabbix_mysql_password="password" 11 | -------------------------------------------------------------------------------- /part14-create zabbix host with ansible/zabbix-host/roles/server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: Set connection specific variables 2 | set_fact: 3 | ansible_network_os: community.zabbix.zabbix 4 | ansible_connection: httpapi 5 | ansible_httpapi_port: 80 6 | ansible_httpapi_use_ssl: false 7 | ansible_httpapi_validate_certs: false 8 | ansible_zabbix_url_path: 'zabbix' # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http:///zabbixeu 9 | 10 | # If you want to use Username and Password to be authenticated by Zabbix Server 11 | - name: Set credentials to access Zabbix Server API 12 | set_fact: 13 | ansible_user: Admin 14 | ansible_httpapi_pass: zabbix 15 | 16 | - name: Create a new host or update an existing host's info 17 | community.zabbix.zabbix_host: 18 | host_name: ansible 19 | visible_name: ansible-1.137 20 | description: linux server which host ansible 21 | host_groups: 22 | - LinuxServer 23 | - ansible 24 | link_templates: 25 | - Linux by Zabbix agent 26 | status: enabled 27 | state: present 28 | inventory_mode: manual 29 | inventory_zabbix: 30 | tag: ansible_add_host 31 | interfaces: 32 | - type: 1 33 | main: 1 34 | useip: 1 35 | ip: 192.168.1.137 36 | port: "10050" 37 | macros: 38 | - macro: '{$SERVER}' 39 | value: server 40 | description: Example desc that work only with Zabbix 4.4 and higher 41 | tags: 42 | - tag: linux 43 | - tag: ansible 44 | value: server 45 | -------------------------------------------------------------------------------- /part14-create zabbix host with ansible/zabbix-host/roles/server/vars/centos7.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mariadb-server 3 | - MySQL-python 4 | - zabbix-get 5 | - zabbix-agent 6 | - zabbix-sender 7 | - zabbix-proxy-mysql 8 | - zabbix-sql-scripts 9 | 10 | mysql_server_file: /etc/my.cnf.d/server.cnf 11 | mysql_name: mariadb 12 | -------------------------------------------------------------------------------- /part14-create zabbix host with ansible/zabbix-host/roles/server/vars/centos8.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mysql-server 3 | - zabbix-get 4 | - python3-PyMySQL 5 | - zabbix-proxy-mysql 6 | - zabbix-sql-scripts 7 | mysql_server_file: /etc/my.cnf.d/mysql-server.cnf 8 | mysql_name: mysqld 9 | 10 | -------------------------------------------------------------------------------- /part14-create zabbix host with ansible/zabbix-host/site.yml: -------------------------------------------------------------------------------- 1 | - name: setup zabbix-host 2 | hosts: zabbixserver 3 | roles: 4 | - server 5 | -------------------------------------------------------------------------------- /part15-create zabbix user and usergroup with ansible/zabbix-usergroup/zabbix-usergroup/inventory/inventory.ini: -------------------------------------------------------------------------------- 1 | [servers] 2 | zabbix-server ansible_ssh_host=192.168.1.199 ansible_ssh_user=root 3 | [agents] 4 | zabbix-agent ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 5 | [zabbix-proxy] 6 | zabbix-proxy ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 7 | [all:vars] 8 | timezone="Asia/Tehran" 9 | [servers:vars] 10 | zabbix_mysql_password="password" 11 | -------------------------------------------------------------------------------- /part15-create zabbix user and usergroup with ansible/zabbix-usergroup/zabbix-usergroup/roles/server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: Set connection specific variables 2 | set_fact: 3 | ansible_network_os: community.zabbix.zabbix 4 | ansible_connection: httpapi 5 | ansible_httpapi_port: 80 6 | ansible_httpapi_use_ssl: false 7 | ansible_httpapi_validate_certs: false 8 | ansible_zabbix_url_path: 'zabbix' # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http:///zabbixeu 9 | 10 | # If you want to use Username and Password to be authenticated by Zabbix Server 11 | - name: Set credentials to access Zabbix Server API 12 | set_fact: 13 | ansible_user: Admin 14 | ansible_httpapi_pass: zabbix 15 | 16 | # Base create user group example 17 | - name: Create user group 18 | community.zabbix.zabbix_usergroup: 19 | name: ACME 20 | state: present 21 | 22 | # Base create user group with disabled gui access 23 | - name: Create user group with disabled gui access 24 | community.zabbix.zabbix_usergroup: 25 | name: ACME 26 | gui_access: disable 27 | 28 | # Base create user group with permissions 29 | - name: Create user group with permissions 30 | community.zabbix.zabbix_usergroup: 31 | name: ACME 32 | rights: 33 | - host_group: ansible 34 | permission: read-write 35 | - host_group: windows-server 36 | permission: read-only 37 | state: present 38 | 39 | # Base create user group with tag permissions 40 | - name: Create user group with tag permissions 41 | community.zabbix.zabbix_usergroup: 42 | name: ACME 43 | tag_filters: 44 | - host_group: ansible 45 | tag: Application 46 | value: python 47 | - host_group: LinuxServer 48 | tag: Service 49 | value: JIRA 50 | state: present 51 | 52 | -------------------------------------------------------------------------------- /part15-create zabbix user and usergroup with ansible/zabbix-usergroup/zabbix-usergroup/roles/server/vars/centos7.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mariadb-server 3 | - MySQL-python 4 | - zabbix-get 5 | - zabbix-agent 6 | - zabbix-sender 7 | - zabbix-proxy-mysql 8 | - zabbix-sql-scripts 9 | 10 | mysql_server_file: /etc/my.cnf.d/server.cnf 11 | mysql_name: mariadb 12 | -------------------------------------------------------------------------------- /part15-create zabbix user and usergroup with ansible/zabbix-usergroup/zabbix-usergroup/roles/server/vars/centos8.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mysql-server 3 | - zabbix-get 4 | - python3-PyMySQL 5 | - zabbix-proxy-mysql 6 | - zabbix-sql-scripts 7 | mysql_server_file: /etc/my.cnf.d/mysql-server.cnf 8 | mysql_name: mysqld 9 | 10 | -------------------------------------------------------------------------------- /part15-create zabbix user and usergroup with ansible/zabbix-usergroup/zabbix-usergroup/site.yml: -------------------------------------------------------------------------------- 1 | - name: setup zabbix-usergroup 2 | hosts: zabbixserver 3 | roles: 4 | - server 5 | -------------------------------------------------------------------------------- /part15-create zabbix user and usergroup with ansible/zabbixuser/inventory/inventory.ini: -------------------------------------------------------------------------------- 1 | [servers] 2 | zabbix-server ansible_ssh_host=192.168.1.199 ansible_ssh_user=root 3 | [agents] 4 | zabbix-agent ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 5 | [zabbix-proxy] 6 | zabbix-proxy ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 7 | [all:vars] 8 | timezone="Asia/Tehran" 9 | [servers:vars] 10 | zabbix_mysql_password="password" 11 | -------------------------------------------------------------------------------- /part15-create zabbix user and usergroup with ansible/zabbixuser/roles/server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: Set connection specific variables 2 | set_fact: 3 | ansible_network_os: community.zabbix.zabbix 4 | ansible_connection: httpapi 5 | ansible_httpapi_port: 80 6 | ansible_httpapi_use_ssl: false 7 | ansible_httpapi_validate_certs: false 8 | ansible_zabbix_url_path: 'zabbix' # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http:///zabbixeu 9 | 10 | # If you want to use Username and Password to be authenticated by Zabbix Server 11 | - name: Set credentials to access Zabbix Server API 12 | set_fact: 13 | ansible_user: Admin 14 | ansible_httpapi_pass: zabbix 15 | 16 | - name: create a new zabbix user. 17 | community.zabbix.zabbix_user: 18 | username: ajoodani 19 | name: user name 20 | usrgrps: 21 | - Guests 22 | - Disabled 23 | passwd: amirmahdi139914587 24 | lang: en_GB 25 | theme: blue-theme 26 | autologin: no 27 | autologout: '0' 28 | refresh: '30' 29 | user_medias: 30 | - mediatype: Email 31 | sendto: example@example.com 32 | period: 1-7,00:00-24:00 33 | severity: 34 | not_classified: no 35 | information: yes 36 | warning: yes 37 | average: yes 38 | high: yes 39 | disaster: yes 40 | active: no 41 | role_name: Admin role 42 | state: present 43 | 44 | #- name: delete existing zabbix user. 45 | # community.zabbix.zabbix_user: 46 | # username: ajoodani 47 | # usrgrps: 48 | # - Guests 49 | # passwd: password 50 | # user_medias: 51 | # - sendto: example@example.com 52 | # state: absent 53 | -------------------------------------------------------------------------------- /part15-create zabbix user and usergroup with ansible/zabbixuser/roles/server/vars/centos7.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mariadb-server 3 | - MySQL-python 4 | - zabbix-get 5 | - zabbix-agent 6 | - zabbix-sender 7 | - zabbix-proxy-mysql 8 | - zabbix-sql-scripts 9 | 10 | mysql_server_file: /etc/my.cnf.d/server.cnf 11 | mysql_name: mariadb 12 | -------------------------------------------------------------------------------- /part15-create zabbix user and usergroup with ansible/zabbixuser/roles/server/vars/centos8.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mysql-server 3 | - zabbix-get 4 | - python3-PyMySQL 5 | - zabbix-proxy-mysql 6 | - zabbix-sql-scripts 7 | mysql_server_file: /etc/my.cnf.d/mysql-server.cnf 8 | mysql_name: mysqld 9 | 10 | -------------------------------------------------------------------------------- /part15-create zabbix user and usergroup with ansible/zabbixuser/site.yml: -------------------------------------------------------------------------------- 1 | - name: setup zabbix-usergroup 2 | hosts: zabbixserver 3 | roles: 4 | - server 5 | -------------------------------------------------------------------------------- /part16-create zabbix role ,global macro , host macro with ansible/Part16-create zabbix role , global macro and hsot macro with ansible.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part16-create zabbix role ,global macro , host macro with ansible/Part16-create zabbix role , global macro and hsot macro with ansible.pdf -------------------------------------------------------------------------------- /part16-create zabbix role ,global macro , host macro with ansible/globalmicro/inventory/inventory.ini: -------------------------------------------------------------------------------- 1 | [servers] 2 | zabbix-server ansible_ssh_host=192.168.1.199 ansible_ssh_user=root 3 | [agents] 4 | zabbix-agent ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 5 | [zabbix-proxy] 6 | zabbix-proxy ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 7 | [all:vars] 8 | timezone="Asia/Tehran" 9 | [servers:vars] 10 | zabbix_mysql_password="password" 11 | -------------------------------------------------------------------------------- /part16-create zabbix role ,global macro , host macro with ansible/globalmicro/roles/server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: Set connection specific variables 2 | set_fact: 3 | ansible_network_os: community.zabbix.zabbix 4 | ansible_connection: httpapi 5 | ansible_httpapi_port: 80 6 | ansible_httpapi_use_ssl: false 7 | ansible_httpapi_validate_certs: false 8 | ansible_zabbix_url_path: 'zabbix' # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http:///zabbixeu 9 | 10 | # If you want to use Username and Password to be authenticated by Zabbix Server 11 | - name: Set credentials to access Zabbix Server API 12 | set_fact: 13 | ansible_user: Admin 14 | ansible_httpapi_pass: zabbix 15 | 16 | - name: Create new global macro or update an existing macro's value 17 | community.zabbix.zabbix_globalmacro: 18 | macro_name: test.MACRO 19 | macro_value: test 20 | macro_type: text 21 | macro_description: Example description 22 | state: present 23 | # Values with curly brackets need to be quoted otherwise they will be interpreted as a dictionary 24 | 25 | - name: Create new global macro in Zabbix native format with Secret Type 26 | community.zabbix.zabbix_globalmacro: 27 | macro_name: "{$EXAMPLE.MACRO}" 28 | macro_value: Example value 29 | macro_type: secret 30 | macro_description: Example description 31 | state: present 32 | 33 | #- name: Delete existing global macro 34 | # community.zabbix.zabbix_globalmacro: 35 | # macro_name: "{$EXAMPLE.MACRO}" 36 | # state: absent 37 | -------------------------------------------------------------------------------- /part16-create zabbix role ,global macro , host macro with ansible/globalmicro/roles/server/vars/centos7.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mariadb-server 3 | - MySQL-python 4 | - zabbix-get 5 | - zabbix-agent 6 | - zabbix-sender 7 | - zabbix-proxy-mysql 8 | - zabbix-sql-scripts 9 | 10 | mysql_server_file: /etc/my.cnf.d/server.cnf 11 | mysql_name: mariadb 12 | -------------------------------------------------------------------------------- /part16-create zabbix role ,global macro , host macro with ansible/globalmicro/roles/server/vars/centos8.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mysql-server 3 | - zabbix-get 4 | - python3-PyMySQL 5 | - zabbix-proxy-mysql 6 | - zabbix-sql-scripts 7 | mysql_server_file: /etc/my.cnf.d/mysql-server.cnf 8 | mysql_name: mysqld 9 | 10 | -------------------------------------------------------------------------------- /part16-create zabbix role ,global macro , host macro with ansible/globalmicro/site.yml: -------------------------------------------------------------------------------- 1 | - name: setup zabbix-globalmacro 2 | hosts: zabbixserver 3 | roles: 4 | - server 5 | -------------------------------------------------------------------------------- /part16-create zabbix role ,global macro , host macro with ansible/hostmicro/inventory/inventory.ini: -------------------------------------------------------------------------------- 1 | [servers] 2 | zabbix-server ansible_ssh_host=192.168.1.199 ansible_ssh_user=root 3 | [agents] 4 | zabbix-agent ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 5 | [zabbix-proxy] 6 | zabbix-proxy ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 7 | [all:vars] 8 | timezone="Asia/Tehran" 9 | [servers:vars] 10 | zabbix_mysql_password="password" 11 | -------------------------------------------------------------------------------- /part16-create zabbix role ,global macro , host macro with ansible/hostmicro/roles/server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: Set connection specific variables 2 | set_fact: 3 | ansible_network_os: community.zabbix.zabbix 4 | ansible_connection: httpapi 5 | ansible_httpapi_port: 80 6 | ansible_httpapi_use_ssl: false 7 | ansible_httpapi_validate_certs: false 8 | ansible_zabbix_url_path: 'zabbix' # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http:///zabbixeu 9 | 10 | # If you want to use Username and Password to be authenticated by Zabbix Server 11 | - name: Set credentials to access Zabbix Server API 12 | set_fact: 13 | ansible_user: Admin 14 | ansible_httpapi_pass: zabbix 15 | 16 | - name: Create new host macro or update an existing macro's value 17 | community.zabbix.zabbix_hostmacro: 18 | host_name: Zabbix server 19 | macro_name: EXAMPLE.MACRO 20 | macro_value: Example value 21 | state: present 22 | 23 | # Values with curly brackets need to be quoted otherwise they will be interpreted as a dictionary 24 | - name: Create new host macro in Zabbix native format 25 | community.zabbix.zabbix_hostmacro: 26 | host_name: Zabbix server 27 | macro_name: "{$EXAMPLE.MACRO}" 28 | macro_value: Example value 29 | state: present 30 | 31 | #- name: Delete existing host macro 32 | # community.zabbix.zabbix_hostmacro: 33 | # host_name: ExampleHost 34 | # macro_name: "{$EXAMPLE.MACRO}" 35 | # state: absent 36 | 37 | -------------------------------------------------------------------------------- /part16-create zabbix role ,global macro , host macro with ansible/hostmicro/roles/server/vars/centos7.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mariadb-server 3 | - MySQL-python 4 | - zabbix-get 5 | - zabbix-agent 6 | - zabbix-sender 7 | - zabbix-proxy-mysql 8 | - zabbix-sql-scripts 9 | 10 | mysql_server_file: /etc/my.cnf.d/server.cnf 11 | mysql_name: mariadb 12 | -------------------------------------------------------------------------------- /part16-create zabbix role ,global macro , host macro with ansible/hostmicro/roles/server/vars/centos8.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mysql-server 3 | - zabbix-get 4 | - python3-PyMySQL 5 | - zabbix-proxy-mysql 6 | - zabbix-sql-scripts 7 | mysql_server_file: /etc/my.cnf.d/mysql-server.cnf 8 | mysql_name: mysqld 9 | 10 | -------------------------------------------------------------------------------- /part16-create zabbix role ,global macro , host macro with ansible/hostmicro/site.yml: -------------------------------------------------------------------------------- 1 | - name: setup zabbix-hostmacro 2 | hosts: zabbixserver 3 | roles: 4 | - server 5 | -------------------------------------------------------------------------------- /part16-create zabbix role ,global macro , host macro with ansible/role/inventory/inventory.ini: -------------------------------------------------------------------------------- 1 | [servers] 2 | zabbix-server ansible_ssh_host=192.168.1.199 ansible_ssh_user=root 3 | [agents] 4 | zabbix-agent ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 5 | [zabbix-proxy] 6 | zabbix-proxy ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 7 | [all:vars] 8 | timezone="Asia/Tehran" 9 | [servers:vars] 10 | zabbix_mysql_password="password" 11 | -------------------------------------------------------------------------------- /part16-create zabbix role ,global macro , host macro with ansible/role/roles/server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: Set connection specific variables 2 | set_fact: 3 | ansible_network_os: community.zabbix.zabbix 4 | ansible_connection: httpapi 5 | ansible_httpapi_port: 80 6 | ansible_httpapi_use_ssl: false 7 | ansible_httpapi_validate_certs: false 8 | ansible_zabbix_url_path: 'zabbix' # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http:///zabbixeu 9 | 10 | # If you want to use Username and Password to be authenticated by Zabbix Server 11 | - name: Set credentials to access Zabbix Server API 12 | set_fact: 13 | ansible_user: Admin 14 | ansible_httpapi_pass: zabbix 15 | ## Create user role Operators with ui elements monitoring.hosts 16 | # disabled and monitoring.maps enabled 17 | - name: Create Zabbix user role 18 | community.zabbix.zabbix_user_role: 19 | state: present 20 | name: Operators 21 | type: User 22 | rules: 23 | ui.default_access: 0 24 | ui: 25 | - name: "monitoring.hosts" 26 | status: 0 27 | - name: "monitoring.maps" 28 | status: 1 29 | -------------------------------------------------------------------------------- /part16-create zabbix role ,global macro , host macro with ansible/role/roles/server/vars/centos7.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mariadb-server 3 | - MySQL-python 4 | - zabbix-get 5 | - zabbix-agent 6 | - zabbix-sender 7 | - zabbix-proxy-mysql 8 | - zabbix-sql-scripts 9 | 10 | mysql_server_file: /etc/my.cnf.d/server.cnf 11 | mysql_name: mariadb 12 | -------------------------------------------------------------------------------- /part16-create zabbix role ,global macro , host macro with ansible/role/roles/server/vars/centos8.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mysql-server 3 | - zabbix-get 4 | - python3-PyMySQL 5 | - zabbix-proxy-mysql 6 | - zabbix-sql-scripts 7 | mysql_server_file: /etc/my.cnf.d/mysql-server.cnf 8 | mysql_name: mysqld 9 | 10 | -------------------------------------------------------------------------------- /part16-create zabbix role ,global macro , host macro with ansible/role/site.yml: -------------------------------------------------------------------------------- 1 | - name: setup zabbix-role 2 | hosts: zabbixserver 3 | roles: 4 | - server 5 | -------------------------------------------------------------------------------- /part17-create zabbix trigger action with python/zabbix.py: -------------------------------------------------------------------------------- 1 | import requests 2 | import json 3 | 4 | # Zabbix API URL 5 | url = "http://192.168.1.199/zabbix/api_jsonrpc.php" 6 | 7 | # Zabbix API credentials 8 | username = "Admin" 9 | password = "zabbix" 10 | 11 | # Zabbix item key for memory utilization 12 | #item_key = "last(vm.memory.utilization)" 13 | 14 | # Trigger expression for memory utilization 15 | trigger_expression = "avg(/Zabbix server/vm.memory.utilization,4m)>80" 16 | 17 | # Zabbix API request headers 18 | headers = {"Content-Type": "application/json-rpc"} 19 | 20 | # Zabbix API request payload for authentication 21 | auth_payload = { 22 | "jsonrpc": "2.0", 23 | "method": "user.login", 24 | "params": { 25 | "user": username, 26 | "password": password 27 | }, 28 | "id": 1 29 | } 30 | 31 | 32 | # Authenticate with the Zabbix API and get the authentication token 33 | response = requests.post(url, data=json.dumps(auth_payload), headers=headers) 34 | auth_token = response.json()["result"] 35 | print(response.json()) 36 | 37 | # Zabbix API request payload for creating a trigger for memory utilization item 38 | trigger_payload = { 39 | "jsonrpc": "2.0", 40 | "method": "trigger.create", 41 | "params": [ 42 | { 43 | # Trigger name and description can be customized as per your requirements. 44 | # Here, we are using a generic name and description. 45 | # You can also set other trigger parameters such as severity, priority, etc. 46 | # For more details, refer to the Zabbix API documentation. 47 | "priority":"2", 48 | "description": "high memory utilization {HOST.NAME}", 49 | "expression": trigger_expression 50 | # Host ID and item ID can be obtained from the Zabbix web interface or API. 51 | # Here, we are assuming that the host and item already exist in Zabbix. 52 | 53 | 54 | 55 | }, 56 | ], 57 | "auth": auth_token, 58 | "id": 52882 59 | } 60 | 61 | # Create a trigger for memory utilization item using the Zabbix API 62 | response = requests.post(url, data=json.dumps(trigger_payload), headers=headers) 63 | print(response.json()) 64 | 65 | 66 | #Note: Replace `your_zabbix_server`, `your_username`, `your_password`, `system.memory.util[,used]`, `your_host_id` and #`your_item_id` with your actual values. 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /part18-create zabbix maintenance mode and housekeeping with ansible/zabbixhousekeeping/inventory/inventory.ini: -------------------------------------------------------------------------------- 1 | [servers] 2 | zabbix-server ansible_ssh_host=192.168.1.199 ansible_ssh_user=root 3 | [agents] 4 | zabbix-agent ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 5 | [zabbix-proxy] 6 | zabbix-proxy ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 7 | [all:vars] 8 | timezone="Asia/Tehran" 9 | [servers:vars] 10 | zabbix_mysql_password="password" 11 | -------------------------------------------------------------------------------- /part18-create zabbix maintenance mode and housekeeping with ansible/zabbixhousekeeping/roles/server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: Set connection specific variables 2 | set_fact: 3 | ansible_network_os: community.zabbix.zabbix 4 | ansible_connection: httpapi 5 | ansible_httpapi_port: 80 6 | ansible_httpapi_use_ssl: false 7 | ansible_httpapi_validate_certs: false 8 | ansible_zabbix_url_path: 'zabbix' # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http:///zabbixeu 9 | 10 | # If you want to use Username and Password to be authenticated by Zabbix Server 11 | - name: Set credentials to access Zabbix Server API 12 | set_fact: 13 | ansible_user: Admin 14 | ansible_httpapi_pass: zabbix 15 | 16 | - name: Update housekeeping all parameter 17 | community.zabbix.zabbix_housekeeping: 18 | # login_user: Admin 19 | # login_password: zabbix 20 | hk_events_mode: yes 21 | hk_events_trigger: 365d 22 | hk_events_service: 365d 23 | hk_events_internal: 365d 24 | hk_events_discovery: 365d 25 | hk_events_autoreg: 365d 26 | hk_services_mode: yes 27 | hk_services: 365d 28 | hk_audit_mode: yes 29 | hk_audit: 365d 30 | hk_sessions_mode: yes 31 | hk_sessions: 365d 32 | hk_history_mode: yes 33 | hk_history_global: yes 34 | hk_history: 365d 35 | hk_trends_mode: yes 36 | hk_trends_global: yes 37 | hk_trends: 365d 38 | compression_status: off 39 | compress_older: 7d 40 | -------------------------------------------------------------------------------- /part18-create zabbix maintenance mode and housekeeping with ansible/zabbixhousekeeping/roles/server/vars/centos7.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mariadb-server 3 | - MySQL-python 4 | - zabbix-get 5 | - zabbix-agent 6 | - zabbix-sender 7 | - zabbix-proxy-mysql 8 | - zabbix-sql-scripts 9 | 10 | mysql_server_file: /etc/my.cnf.d/server.cnf 11 | mysql_name: mariadb 12 | -------------------------------------------------------------------------------- /part18-create zabbix maintenance mode and housekeeping with ansible/zabbixhousekeeping/roles/server/vars/centos8.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mysql-server 3 | - zabbix-get 4 | - python3-PyMySQL 5 | - zabbix-proxy-mysql 6 | - zabbix-sql-scripts 7 | mysql_server_file: /etc/my.cnf.d/mysql-server.cnf 8 | mysql_name: mysqld 9 | 10 | -------------------------------------------------------------------------------- /part18-create zabbix maintenance mode and housekeeping with ansible/zabbixhousekeeping/site.yml: -------------------------------------------------------------------------------- 1 | - name: setup zabbix-housekepping 2 | hosts: zabbixserver 3 | roles: 4 | - server 5 | -------------------------------------------------------------------------------- /part18-create zabbix maintenance mode and housekeeping with ansible/zabbixmaintenance/inventory/inventory.ini: -------------------------------------------------------------------------------- 1 | [servers] 2 | zabbix-server ansible_ssh_host=192.168.1.199 ansible_ssh_user=root 3 | [agents] 4 | zabbix-agent ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 5 | [zabbix-proxy] 6 | zabbix-proxy ansible_ssh_host=192.168.1.92 ansible_ssh_user=root 7 | [all:vars] 8 | timezone="Asia/Tehran" 9 | [servers:vars] 10 | zabbix_mysql_password="password" 11 | -------------------------------------------------------------------------------- /part18-create zabbix maintenance mode and housekeeping with ansible/zabbixmaintenance/roles/server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: Set connection specific variables 2 | set_fact: 3 | ansible_network_os: community.zabbix.zabbix 4 | ansible_connection: httpapi 5 | ansible_httpapi_port: 80 6 | ansible_httpapi_use_ssl: false 7 | ansible_httpapi_validate_certs: false 8 | ansible_zabbix_url_path: 'zabbix' # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http:///zabbixeu 9 | 10 | # If you want to use Username and Password to be authenticated by Zabbix Server 11 | - name: Set credentials to access Zabbix Server API 12 | set_fact: 13 | ansible_user: Admin 14 | ansible_httpapi_pass: zabbix 15 | 16 | - name: update of linux host group 17 | community.zabbix.zabbix_maintenance: 18 | name: Update of linuxserver 19 | host_name: Zabbix server 20 | host_groups: 21 | - LinuxServer 22 | state: present 23 | tags: 24 | - tag: ExampleHostsTag 25 | - tag: ExampleHostsTag2 26 | value: ExampleTagValue 27 | - tag: ExampleHostsTag3 28 | value: ExampleTagValue 29 | operator: 0 30 | 31 | - name: Create a named maintenance window for hosts zabbix server, with data collection. 32 | community.zabbix.zabbix_maintenance: 33 | name: update 34 | host_names: 35 | - Zabbix server 36 | state: present 37 | collect_data: True 38 | 39 | #- name: Remove maintenance window by name 40 | # community.zabbix.zabbix_maintenance: 41 | # name: Test1 42 | # state: absent 43 | -------------------------------------------------------------------------------- /part18-create zabbix maintenance mode and housekeeping with ansible/zabbixmaintenance/roles/server/vars/centos7.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mariadb-server 3 | - MySQL-python 4 | - zabbix-get 5 | - zabbix-agent 6 | - zabbix-sender 7 | - zabbix-proxy-mysql 8 | - zabbix-sql-scripts 9 | 10 | mysql_server_file: /etc/my.cnf.d/server.cnf 11 | mysql_name: mariadb 12 | -------------------------------------------------------------------------------- /part18-create zabbix maintenance mode and housekeeping with ansible/zabbixmaintenance/roles/server/vars/centos8.yml: -------------------------------------------------------------------------------- 1 | yum_list: 2 | - mysql-server 3 | - zabbix-get 4 | - python3-PyMySQL 5 | - zabbix-proxy-mysql 6 | - zabbix-sql-scripts 7 | mysql_server_file: /etc/my.cnf.d/mysql-server.cnf 8 | mysql_name: mysqld 9 | 10 | -------------------------------------------------------------------------------- /part18-create zabbix maintenance mode and housekeeping with ansible/zabbixmaintenance/site.yml: -------------------------------------------------------------------------------- 1 | - name: setup zabbix-maintenance 2 | hosts: zabbixserver 3 | roles: 4 | - server 5 | -------------------------------------------------------------------------------- /part19-create map and action in zabbix with python/iran map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part19-create map and action in zabbix with python/iran map.png -------------------------------------------------------------------------------- /part19-create map and action in zabbix with python/zabbixaction.py: -------------------------------------------------------------------------------- 1 | import requests 2 | import json 3 | 4 | # Zabbix API URL 5 | url = "http://192.168.1.199/zabbix/api_jsonrpc.php" 6 | 7 | # Zabbix API credentials 8 | username = "Admin" 9 | password = "zabbix" 10 | 11 | # Zabbix API request headers 12 | headers = {"Content-Type": "application/json-rpc"} 13 | 14 | # Zabbix API request payload for authentication 15 | auth_payload = { 16 | "jsonrpc": "2.0", 17 | "method": "user.login", 18 | "params": { 19 | "user": username, 20 | "password": password 21 | }, 22 | "id": 1 23 | } 24 | 25 | 26 | # Authenticate with the Zabbix API and get the authentication token 27 | response = requests.post(url, data=json.dumps(auth_payload), headers=headers) 28 | auth_token = response.json()["result"] 29 | print(response.json()) 30 | 31 | # Zabbix API request payload for creating a trigger for memory utilization item 32 | zabbixmap_payload = { 33 | "jsonrpc": "2.0", 34 | "method": "action.create", 35 | "auth": auth_token, 36 | "id": 1, 37 | "params": { 38 | "name": "Trigger action 2 ", 39 | "eventsource": 0, 40 | "esc_period": "30m", 41 | "filter": { 42 | "evaltype": 0, 43 | "conditions": [ 44 | { 45 | "conditiontype": "1", 46 | "operator": "0", 47 | "value": "10084" 48 | }, 49 | ] 50 | }, 51 | "operations": [ 52 | { 53 | "operationtype": "0", 54 | "esc_step_from": 1, 55 | "esc_step_to": 1, 56 | "opmessage_grp": [ 57 | { 58 | "usrgrpid": "7" 59 | } 60 | ], 61 | "opmessage": { 62 | "default_msg": "1", 63 | "mediatypeid": "1" 64 | } 65 | }, 66 | ], 67 | "recovery_operations": [ 68 | { 69 | "operationtype": "11", 70 | "opmessage": { 71 | "default_msg": 1 72 | } 73 | } 74 | ], 75 | "update_operations": [ 76 | { 77 | "operationtype": "12", 78 | "opmessage": { 79 | "default_msg": 0, 80 | "message": "Custom update operation message body", 81 | "subject": "Custom update operation message subject" 82 | } 83 | } 84 | ] 85 | }, 86 | "id": 1 87 | } 88 | # Create a trigger for memory utilization item using the Zabbix API 89 | response = requests.post(url, data=json.dumps(zabbixmap_payload), headers=headers) 90 | print(response.json()) 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | -------------------------------------------------------------------------------- /part19-create map and action in zabbix with python/zabbixmap.py: -------------------------------------------------------------------------------- 1 | import requests 2 | import json 3 | 4 | # Zabbix API URL 5 | url = "http://192.168.1.199/zabbix/api_jsonrpc.php" 6 | 7 | # Zabbix API credentials 8 | username = "Admin" 9 | password = "zabbix" 10 | 11 | # Zabbix API request headers 12 | headers = {"Content-Type": "application/json-rpc"} 13 | 14 | # Zabbix API request payload for authentication 15 | auth_payload = { 16 | "jsonrpc": "2.0", 17 | "method": "user.login", 18 | "params": { 19 | "user": username, 20 | "password": password 21 | }, 22 | "id": 1 23 | } 24 | 25 | 26 | # Authenticate with the Zabbix API and get the authentication token 27 | response = requests.post(url, data=json.dumps(auth_payload), headers=headers) 28 | auth_token = response.json()["result"] 29 | print(response.json()) 30 | 31 | # Zabbix API request payload for creating a trigger for memory utilization item 32 | zabbixmap_payload = { 33 | "jsonrpc": "2.0", 34 | "method": "map.create", 35 | "params": { 36 | "name": "Iran", 37 | "width": 600, 38 | "height": 600 39 | }, 40 | "auth": auth_token, 41 | "id": 1 42 | } 43 | 44 | # Create a trigger for memory utilization item using the Zabbix API 45 | response = requests.post(url, data=json.dumps(zabbixmap_payload), headers=headers) 46 | print(response.json()) 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /part20-zabbix autoregistration and user parameters/zabbix.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part20-zabbix autoregistration and user parameters/zabbix.pdf -------------------------------------------------------------------------------- /part21-caculated and depenent item/zabbix.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part21-caculated and depenent item/zabbix.pdf -------------------------------------------------------------------------------- /part22-zabbix sender and trapper and zabbix-get/zabbix.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part22-zabbix sender and trapper and zabbix-get/zabbix.pdf -------------------------------------------------------------------------------- /part23-LLD and Web Scenario in Zabbix/zabbix.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part23-LLD and Web Scenario in Zabbix/zabbix.pdf -------------------------------------------------------------------------------- /part24-Convert mib file to zabbix template/HUAWEI-MIB.mib: -------------------------------------------------------------------------------- 1 | -- ============================================================================ 2 | -- Copyright (C) 2014 by HUAWEI TECHNOLOGIES. All rights reserved. 3 | -- Description: Huawei common OID MIB definition. 4 | -- Reference: 5 | -- Version: V4.19 6 | -- ============================================================================ 7 | 8 | HUAWEI-MIB DEFINITIONS ::= BEGIN 9 | 10 | IMPORTS 11 | enterprises, MODULE-IDENTITY 12 | FROM SNMPv2-SMI; 13 | 14 | huawei MODULE-IDENTITY 15 | LAST-UPDATED "201410220000Z" 16 | ORGANIZATION 17 | "Huawei Technologies Co.,Ltd." 18 | CONTACT-INFO 19 | "Huawei Industrial Base 20 | Bantian, Longgang 21 | Shenzhen 518129 22 | People's Republic of China 23 | Website: http://www.huawei.com 24 | Email: support@huawei.com 25 | " 26 | DESCRIPTION 27 | "huawei common oid mib defintion. " 28 | 29 | -- Revision history 30 | REVISION "201410220000Z" 31 | DESCRIPTION "V4.19, The object identifier of MA5811S(hwProducts 296) is added. " 32 | 33 | REVISION "201410160000Z" 34 | DESCRIPTION "V4.18, merge the DC's nodes. " 35 | 36 | REVISION "201309030000Z" 37 | DESCRIPTION "V4.00, merge the vrp and access network's nodes together. " 38 | 39 | REVISION "201406040000Z" 40 | DESCRIPTION "V3.43, 41 | The object identifier of ma5800(hwProducts 294) is added. 42 | " 43 | REVISION "201401210000Z" 44 | DESCRIPTION "V3.42, 45 | The object identifier of hwRPS(hwProducts 287) is added. 46 | " 47 | 48 | REVISION "201312300000Z" 49 | DESCRIPTION "V3.41, 50 | Modify the comma from chinese mode to English mode. 51 | " 52 | 53 | REVISION "201309030000Z" 54 | DESCRIPTION "V3.40, 55 | The object identifier of MA5675M(hwProducts 285) is added, 56 | The object identifier of MA5675(hwProducts 286) is added, 57 | The object identifier of hwFTTODeviceMIB(huaweiUtility 186) is added 58 | " 59 | 60 | REVISION "201304180000Z" 61 | DESCRIPTION "V3.39, 62 | The object identifier of MA5898(hwProducts 260) is added, 63 | The object identifier of MA5821(hwProducts 262) is added, 64 | The object identifier of MA5822(hwProducts 263) is added, 65 | The object identifier of MA5818(hwProducts 266) is added, 66 | The object identifier of MA5698(hwProducts 267) is added, 67 | The object identifier of MA5694(hwProducts 268) is added, 68 | The object identifier of MA5611S(hwProducts 273) is added, 69 | The object identifier of MA5622A-8(hwProducts 274) is added, 70 | The object identifier of MA5622A-16(hwProducts 275) is added, 71 | " 72 | 73 | REVISION "201211050000Z" 74 | DESCRIPTION "V3.38, 75 | The object identifier of hwSyslog(huaweiUtility 35) is deleted. 76 | " 77 | 78 | REVISION "201206210000Z" 79 | DESCRIPTION "V3.37, 80 | The object identifier of MA5608T(hwProducts 248) is added 81 | " 82 | 83 | REVISION "201205080000Z" 84 | DESCRIPTION "V3.36, 85 | The object identifier of MA5633(hwProducts 249) is added 86 | " 87 | 88 | REVISION "201204220000Z" 89 | DESCRIPTION "V3.35, 90 | The object identifier of MA5623A(hwProducts 246) is added 91 | " 92 | REVISION "201111050000Z" 93 | DESCRIPTION "V3.34, 94 | The object identifier of MA5669(hwProducts 232) is added 95 | The object identifier of MA5661(hwProducts 229) is added 96 | The object identifier of MA5621(hwProducts 225) is added 97 | The object identifier of MA5621a(hwProducts 233) is added 98 | The object identifier of MA5623(hwProducts 234) is added 99 | Modified the object identifier of MA5632(hwProducts 188) to MA5632(hwProducts 228) 100 | Modified the object identifier of ma5620P to ma5620 101 | Modified the object identifier of ma5626p to ma5626 102 | " 103 | 104 | REVISION "201106100000Z" 105 | DESCRIPTION "V3.33, 106 | The object identifier of hwIODN(huaweiUtility 226) is added 107 | " 108 | 109 | REVISION "201010130000Z" 110 | DESCRIPTION "V3.32, 111 | The object identifier of MA5662(hwProducts 195) is added 112 | The object identifier of MA5628(hwProducts 213) is added 113 | The object identifier of MA5652(hwProducts 221) is added 114 | The object identifier of MA5622(hwProducts 222) is added. 115 | " 116 | 117 | REVISION "201008270000Z" 118 | DESCRIPTION "V3.31, added the hwEntityVendorType node for the feature of ENTITY-MIB." 119 | 120 | REVISION "201008120000Z" 121 | DESCRIPTION "V3.30, The object identifier of MA5631(hwProducts 219) is added." 122 | 123 | REVISION "201007190000Z" 124 | DESCRIPTION "V3.29, added the description of the MIB header file and the revision history." 125 | 126 | REVISION "200601300000Z" 127 | DESCRIPTION "V1.00, completed the first draft." 128 | ::= { enterprises 2011 } 129 | 130 | hwLocal OBJECT IDENTIFIER ::= { huawei 1 } 131 | quidway OBJECT IDENTIFIER ::= { hwLocal 1 } 132 | hwTrans OBJECT IDENTIFIER ::= { hwLocal 2 } 133 | 134 | hwInternetProtocol OBJECT IDENTIFIER ::= { hwLocal 3 } 135 | rmonExtend OBJECT IDENTIFIER ::= { hwInternetProtocol 4 } 136 | performance OBJECT IDENTIFIER ::= { rmonExtend 4 } 137 | 138 | hwNovellProtocol OBJECT IDENTIFIER ::= { hwLocal 4 } 139 | hwProducts OBJECT IDENTIFIER ::= { huawei 2 } 140 | atm OBJECT IDENTIFIER ::= { hwProducts 1 } 141 | atmAccess OBJECT IDENTIFIER ::= { atm 1 } 142 | atmBone OBJECT IDENTIFIER ::= { atm 2 } 143 | r8750 OBJECT IDENTIFIER ::= { atmBone 1 } 144 | 145 | router OBJECT IDENTIFIER ::= { hwProducts 2 } 146 | routerGeneral OBJECT IDENTIFIER ::= { router 1 } 147 | ne08 OBJECT IDENTIFIER ::= { routerGeneral 7508 } 148 | ne16 OBJECT IDENTIFIER ::= { routerGeneral 7516 } 149 | attr OBJECT IDENTIFIER ::= { routerGeneral 1 } 150 | 151 | module OBJECT IDENTIFIER ::= { router 2 } 152 | flash OBJECT IDENTIFIER ::= { router 3 } 153 | mixinfo OBJECT IDENTIFIER ::= { router 4 } 154 | huaweiMemoryPool OBJECT IDENTIFIER ::= { router 5 } 155 | configFile OBJECT IDENTIFIER ::= { router 6 } 156 | netEngine OBJECT IDENTIFIER ::= { router 8070 } 157 | 158 | access-server OBJECT IDENTIFIER ::= { hwProducts 3 } 159 | as8010 OBJECT IDENTIFIER ::= { access-server 1 } 160 | 161 | lan-switch OBJECT IDENTIFIER ::= { hwProducts 4 } 162 | switch2403 OBJECT IDENTIFIER ::= { lan-switch 1 } 163 | switch2403F OBJECT IDENTIFIER ::= { switch2403 0 } 164 | switch3008 OBJECT IDENTIFIER ::= { lan-switch 2 } 165 | switch3016 OBJECT IDENTIFIER ::= { lan-switch 3 } 166 | switch2024-M OBJECT IDENTIFIER ::= { lan-switch 4 } 167 | switch3025-M OBJECT IDENTIFIER ::= { lan-switch 5 } 168 | 169 | xdsl OBJECT IDENTIFIER ::= { hwProducts 5 } 170 | adsl OBJECT IDENTIFIER ::= { xdsl 1 } 171 | 172 | musa OBJECT IDENTIFIER ::= { hwProducts 6 } 173 | hwMusaV100R001Mib OBJECT IDENTIFIER ::= { musa 1 } 174 | hwMA5200Mib OBJECT IDENTIFIER ::= { musa 2 } 175 | hwMusaV100R002Mib OBJECT IDENTIFIER ::= { musa 3 } 176 | hwMd5500Mib OBJECT IDENTIFIER ::= { musa 4 } 177 | hwMa5100Mib OBJECT IDENTIFIER ::= { musa 5 } 178 | hwMa5100V200 OBJECT IDENTIFIER ::= { hwMa5100Mib 22 } 179 | hwMa5100V300 OBJECT IDENTIFIER ::= { hwMa5100Mib 23 } 180 | hwMa5300Mib OBJECT IDENTIFIER ::= { musa 6 } 181 | ias OBJECT IDENTIFIER ::= { musa 7 } 182 | hwIasDev OBJECT IDENTIFIER ::= { ias 1 } 183 | hwIasMgmt OBJECT IDENTIFIER ::= { ias 2 } 184 | hwIasPvc OBJECT IDENTIFIER ::= { ias 3 } 185 | hwIasService OBJECT IDENTIFIER ::= { ias 4 } 186 | 187 | mpeg-2 OBJECT IDENTIFIER ::= { hwProducts 7 } 188 | gprs OBJECT IDENTIFIER ::= { hwProducts 8 } 189 | honet OBJECT IDENTIFIER ::= { hwProducts 9 } 190 | cc08 OBJECT IDENTIFIER ::= { hwProducts 10 } 191 | sbs OBJECT IDENTIFIER ::= { hwProducts 11 } 192 | ip-phone OBJECT IDENTIFIER ::= { hwProducts 12 } 193 | ups OBJECT IDENTIFIER ::= { hwProducts 13 } 194 | viewpoint OBJECT IDENTIFIER ::= { hwProducts 14 } 195 | netManager OBJECT IDENTIFIER ::= { hwProducts 15 } 196 | iNet OBJECT IDENTIFIER ::= { hwProducts 16 } 197 | ne80 OBJECT IDENTIFIER ::= { hwProducts 17 } 198 | 199 | wireIn OBJECT IDENTIFIER ::= { hwProducts 18 } 200 | wireInScp OBJECT IDENTIFIER ::= { wireIn 1 } 201 | wireInSdp OBJECT IDENTIFIER ::= { wireIn 2 } 202 | wireInSmp OBJECT IDENTIFIER ::= { wireIn 3 } 203 | wireInSsp OBJECT IDENTIFIER ::= { wireIn 4 } 204 | wireInIP OBJECT IDENTIFIER ::= { wireIn 5 } 205 | 206 | mobileIn OBJECT IDENTIFIER ::= { hwProducts 19 } 207 | mobileInScp OBJECT IDENTIFIER ::= { mobileIn 1 } 208 | mobileInSdp OBJECT IDENTIFIER ::= { mobileIn 2 } 209 | mobileInSmp OBJECT IDENTIFIER ::= { mobileIn 3 } 210 | mobileInSsp OBJECT IDENTIFIER ::= { mobileIn 4 } 211 | mobileInIP OBJECT IDENTIFIER ::= { mobileIn 5 } 212 | 213 | cdmaIn OBJECT IDENTIFIER ::= { hwProducts 20 } 214 | cdmaInScp OBJECT IDENTIFIER ::= { cdmaIn 1 } 215 | cdmaInSdp OBJECT IDENTIFIER ::= { cdmaIn 2 } 216 | cdmaInSmp OBJECT IDENTIFIER ::= { cdmaIn 3 } 217 | cdmaInSsp OBJECT IDENTIFIER ::= { cdmaIn 4 } 218 | cdmaInIP OBJECT IDENTIFIER ::= { cdmaIn 5 } 219 | 220 | acdIn OBJECT IDENTIFIER ::= { hwProducts 21 } 221 | 222 | esr OBJECT IDENTIFIER ::= { hwProducts 22 } 223 | radium8750 OBJECT IDENTIFIER ::= { esr 2 } 224 | isn8850 OBJECT IDENTIFIER ::= { esr 3 } 225 | esr8825 OBJECT IDENTIFIER ::= { esr 5 } 226 | esrV5R3 OBJECT IDENTIFIER ::= { esr 6 } 227 | esrV5R58850 OBJECT IDENTIFIER ::= { esr 7 } 228 | esrV5R58825 OBJECT IDENTIFIER ::= { esr 8 } 229 | 230 | lanSw OBJECT IDENTIFIER ::= { hwProducts 23 } 231 | lswCommon OBJECT IDENTIFIER ::= { lanSw 1 } 232 | s8016 OBJECT IDENTIFIER ::= { lanSw 11 } 233 | s8016Common OBJECT IDENTIFIER ::= { s8016 1 } 234 | s8016A OBJECT IDENTIFIER ::= { s8016 2 } 235 | s8016B OBJECT IDENTIFIER ::= { s8016 3 } 236 | s3526 OBJECT IDENTIFIER ::= { lanSw 12 } 237 | s3026 OBJECT IDENTIFIER ::= { lanSw 13 } 238 | s3026V OBJECT IDENTIFIER ::= { lanSw 14 } 239 | s2008 OBJECT IDENTIFIER ::= { lanSw 15 } 240 | s2016 OBJECT IDENTIFIER ::= { lanSw 16 } 241 | s3526F OBJECT IDENTIFIER ::= { lanSw 17 } 242 | s5516 OBJECT IDENTIFIER ::= { lanSw 18 } 243 | s6506 OBJECT IDENTIFIER ::= { lanSw 19 } 244 | s3026F OBJECT IDENTIFIER ::= { lanSw 20 } 245 | s3526E OBJECT IDENTIFIER ::= { lanSw 21 } 246 | s2026 OBJECT IDENTIFIER ::= { lanSw 22 } 247 | s2403H OBJECT IDENTIFIER ::= { lanSw 23 } 248 | s3026E OBJECT IDENTIFIER ::= { lanSw 24 } 249 | s3026EFM OBJECT IDENTIFIER ::= { lanSw 25 } 250 | s3026EFS OBJECT IDENTIFIER ::= { lanSw 26 } 251 | s3526EFM OBJECT IDENTIFIER ::= { lanSw 27 } 252 | s3526EFS OBJECT IDENTIFIER ::= { lanSw 28 } 253 | s3050C OBJECT IDENTIFIER ::= { lanSw 29 } 254 | s6503 OBJECT IDENTIFIER ::= { lanSw 30 } 255 | s8512 OBJECT IDENTIFIER ::= { lanSw 31 } 256 | s8505 OBJECT IDENTIFIER ::= { lanSw 32 } 257 | s6506R OBJECT IDENTIFIER ::= { lanSw 33 } 258 | s3026c OBJECT IDENTIFIER ::= { lanSw 34 } 259 | s3026g OBJECT IDENTIFIER ::= { lanSw 35 } 260 | s3026t OBJECT IDENTIFIER ::= { lanSw 36 } 261 | s3552G OBJECT IDENTIFIER ::= { lanSw 37 } 262 | s3552P OBJECT IDENTIFIER ::= { lanSw 38 } 263 | s3528G OBJECT IDENTIFIER ::= { lanSw 39 } 264 | s3528P OBJECT IDENTIFIER ::= { lanSw 40 } 265 | s3526c OBJECT IDENTIFIER ::= { lanSw 41 } 266 | s3026c-24-12fs OBJECT IDENTIFIER ::= { lanSw 42 } 267 | s3026c-24-12fm OBJECT IDENTIFIER ::= { lanSw 43 } 268 | s3526c-24-12fs OBJECT IDENTIFIER ::= { lanSw 44 } 269 | s3526c-24-12fm OBJECT IDENTIFIER ::= { lanSw 45 } 270 | s5012G OBJECT IDENTIFIER ::= { lanSw 46 } 271 | s5012G-DC OBJECT IDENTIFIER ::= { lanSw 47 } 272 | s5012T-12-10GBC OBJECT IDENTIFIER ::= { lanSw 48 } 273 | s5012T-12-10GBC-DC OBJECT IDENTIFIER ::= { lanSw 49 } 274 | s5024G-24-20TP OBJECT IDENTIFIER ::= { lanSw 50 } 275 | s5024G-24-20TP-DC OBJECT IDENTIFIER ::= { lanSw 51 } 276 | s2026Z OBJECT IDENTIFIER ::= { lanSw 52 } 277 | s2026C OBJECT IDENTIFIER ::= { lanSw 53 } 278 | s3026G-SI OBJECT IDENTIFIER ::= { lanSw 54 } 279 | s3026C-SI OBJECT IDENTIFIER ::= { lanSw 55 } 280 | s3026S-SI OBJECT IDENTIFIER ::= { lanSw 56 } 281 | s8505e OBJECT IDENTIFIER ::= { lanSw 57 } 282 | s3552F-SI OBJECT IDENTIFIER ::= { lanSw 67 } 283 | s3552F-EI OBJECT IDENTIFIER ::= { lanSw 68 } 284 | e026 OBJECT IDENTIFIER ::= { lanSw 69 } 285 | e026-SI OBJECT IDENTIFIER ::= { lanSw 70 } 286 | e050 OBJECT IDENTIFIER ::= { lanSw 71 } 287 | s2326P-SI OBJECT IDENTIFIER ::= { lanSw 72 } 288 | s2326P-EI OBJECT IDENTIFIER ::= { lanSw 73 } 289 | s2318P-SI OBJECT IDENTIFIER ::= { lanSw 74 } 290 | s2318P-EI OBJECT IDENTIFIER ::= { lanSw 75 } 291 | s2309P-SI OBJECT IDENTIFIER ::= { lanSw 76 } 292 | s2309P-EI OBJECT IDENTIFIER ::= { lanSw 77 } 293 | s3352P-SI OBJECT IDENTIFIER ::= { lanSw 78 } 294 | s3352P-EI OBJECT IDENTIFIER ::= { lanSw 79 } 295 | s3328TP-SI OBJECT IDENTIFIER ::= { lanSw 80 } 296 | s3328TP-EI OBJECT IDENTIFIER ::= { lanSw 81 } 297 | s3328TP-EI-24S OBJECT IDENTIFIER ::= { lanSw 82 } 298 | s3328TP-SI-24S OBJECT IDENTIFIER ::= { lanSw 83 } 299 | s3352P-EI-24S OBJECT IDENTIFIER ::= { lanSw 84 } 300 | s3352P-EI-48S OBJECT IDENTIFIER ::= { lanSw 85 } 301 | s3352P-SI-48S OBJECT IDENTIFIER ::= { lanSw 86 } 302 | s2309TP-SI OBJECT IDENTIFIER ::= { lanSw 87 } 303 | s2309TP-EI OBJECT IDENTIFIER ::= { lanSw 88 } 304 | s2318TP-SI OBJECT IDENTIFIER ::= { lanSw 89 } 305 | s2318TP-EI OBJECT IDENTIFIER ::= { lanSw 90 } 306 | s2326TP-SI OBJECT IDENTIFIER ::= { lanSw 91 } 307 | s2326TP-EI OBJECT IDENTIFIER ::= { lanSw 92 } 308 | s2352P-SI OBJECT IDENTIFIER ::= { lanSw 93 } 309 | s2352P-EI OBJECT IDENTIFIER ::= { lanSw 94 } 310 | s5328C-EI OBJECT IDENTIFIER ::= { lanSw 95 } 311 | s5328C-EI-24S OBJECT IDENTIFIER ::= { lanSw 96 } 312 | s5352C-EI OBJECT IDENTIFIER ::= { lanSw 97 } 313 | 314 | s5324TP-SI OBJECT IDENTIFIER ::= { lanSw 98 } 315 | s5348TP-SI OBJECT IDENTIFIER ::= { lanSw 99 } 316 | s5324TP-PWR-SI OBJECT IDENTIFIER ::= { lanSw 100 } 317 | s5348TP-PWR-SI OBJECT IDENTIFIER ::= { lanSw 101 } 318 | s5328C-SI OBJECT IDENTIFIER ::= { lanSw 102 } 319 | s5352C-SI OBJECT IDENTIFIER ::= { lanSw 103 } 320 | s5328C-PWR-SI OBJECT IDENTIFIER ::= { lanSw 104 } 321 | s5352C-PWR-SI OBJECT IDENTIFIER ::= { lanSw 105 } 322 | s5328C-PWR-EI OBJECT IDENTIFIER ::= { lanSw 106 } 323 | s5352C-PWR-EI OBJECT IDENTIFIER ::= { lanSw 107 } 324 | s2309TP-PWR-EI OBJECT IDENTIFIER ::= { lanSw 108 } 325 | s2326TP-PWR-EI OBJECT IDENTIFIER ::= { lanSw 109 } 326 | s3328TP-PWR-EI OBJECT IDENTIFIER ::= { lanSw 110 } 327 | s3352P-PWR-EI OBJECT IDENTIFIER ::= { lanSw 111 } 328 | s3328TP-EI-MC OBJECT IDENTIFIER ::= { lanSw 112 } 329 | 330 | s3318TP-EI-MC OBJECT IDENTIFIER ::= { lanSw 113 } 331 | s2700-9TP-EI-AC OBJECT IDENTIFIER ::= { lanSw 114 } 332 | s2700-9TP-EI-DC OBJECT IDENTIFIER ::= { lanSw 115 } 333 | s2700-18TP-EI-AC OBJECT IDENTIFIER ::= { lanSw 116 } 334 | s2700-26TP-EI-AC OBJECT IDENTIFIER ::= { lanSw 117 } 335 | s2700-26TP-EI-DC OBJECT IDENTIFIER ::= { lanSw 118 } 336 | s2700-52TP-EI-AC OBJECT IDENTIFIER ::= { lanSw 119 } 337 | s2700-9TP-SI-AC OBJECT IDENTIFIER ::= { lanSw 120 } 338 | s2700-18TP-SI-AC OBJECT IDENTIFIER ::= { lanSw 121 } 339 | s2700-26TP-SI-AC OBJECT IDENTIFIER ::= { lanSw 122 } 340 | s2700-9TP-PWR-EI OBJECT IDENTIFIER ::= { lanSw 123 } 341 | s2700-26TP-PWR-EI OBJECT IDENTIFIER ::= { lanSw 124 } 342 | s3700-28TP-EI-AC OBJECT IDENTIFIER ::= { lanSw 125 } 343 | s3700-28TP-EI-DC OBJECT IDENTIFIER ::= { lanSw 126 } 344 | s3700-28TP-EI-24S-AC OBJECT IDENTIFIER ::= { lanSw 127 } 345 | s3700-52TP-EI-AC OBJECT IDENTIFIER ::= { lanSw 128 } 346 | s3700-52TP-EI-DC OBJECT IDENTIFIER ::= { lanSw 129 } 347 | s3700-52TP-EI-24S-AC OBJECT IDENTIFIER ::= { lanSw 130 } 348 | s3700-52TP-EI-24S-DC OBJECT IDENTIFIER ::= { lanSw 131 } 349 | s3700-52TP-EI-48S-AC OBJECT IDENTIFIER ::= { lanSw 132 } 350 | s3700-52TP-EI-48S-DC OBJECT IDENTIFIER ::= { lanSw 133 } 351 | s3700-28TP-SI-AC OBJECT IDENTIFIER ::= { lanSw 134 } 352 | s3700-28TP-SI-DC OBJECT IDENTIFIER ::= { lanSw 135 } 353 | s3700-52TP-SI-AC OBJECT IDENTIFIER ::= { lanSw 136 } 354 | s3700-28TP-PWR-EI OBJECT IDENTIFIER ::= { lanSw 137 } 355 | s3700-52TP-PWR-EI OBJECT IDENTIFIER ::= { lanSw 138 } 356 | s3700-28TP-EI-MC-AC OBJECT IDENTIFIER ::= { lanSw 139 } 357 | s5700-28C-EI OBJECT IDENTIFIER ::= { lanSw 140 } 358 | s5700-28C-SI OBJECT IDENTIFIER ::= { lanSw 141 } 359 | s5700-28C-EI-24S OBJECT IDENTIFIER ::= { lanSw 142 } 360 | s5700-52C-EI OBJECT IDENTIFIER ::= { lanSw 143 } 361 | s5700-52C-SI OBJECT IDENTIFIER ::= { lanSw 144 } 362 | s5700-24TP-SI-AC OBJECT IDENTIFIER ::= { lanSw 145 } 363 | s5700-24TP-SI-DC OBJECT IDENTIFIER ::= { lanSw 146 } 364 | s5700-48TP-SI-AC OBJECT IDENTIFIER ::= { lanSw 147 } 365 | s5700-48TP-SI-DC OBJECT IDENTIFIER ::= { lanSw 148 } 366 | s5700-28C-PWR-EI OBJECT IDENTIFIER ::= { lanSw 149 } 367 | s5700-52C-PWR-EI OBJECT IDENTIFIER ::= { lanSw 150 } 368 | s5700-24TP-PWR-SI OBJECT IDENTIFIER ::= { lanSw 151 } 369 | s5700-48TP-PWR-SI OBJECT IDENTIFIER ::= { lanSw 152 } 370 | 371 | s6324C OBJECT IDENTIFIER ::= { lanSw 153 } 372 | s6348C OBJECT IDENTIFIER ::= { lanSw 154 } 373 | s5328C-HI OBJECT IDENTIFIER ::= { lanSw 155 } 374 | s5328C-HI-24S OBJECT IDENTIFIER ::= { lanSw 156 } 375 | s5306TP-SI OBJECT IDENTIFIER ::= { lanSw 157 } 376 | s3326C-HI OBJECT IDENTIFIER ::= { lanSw 158 } 377 | s5328C-HI-24SA OBJECT IDENTIFIER ::= { lanSw 159 } 378 | 379 | s6700-24-EI OBJECT IDENTIFIER ::= { lanSw 160 } 380 | s6700-48-EI OBJECT IDENTIFIER ::= { lanSw 161 } 381 | s1728-GWR-4P OBJECT IDENTIFIER ::= { lanSw 162 } 382 | s5700-28P-LI OBJECT IDENTIFIER ::= { lanSw 163 } -- S5700-28P-LI-AC 383 | s5700-28P-PWR-LI-AC OBJECT IDENTIFIER ::= { lanSw 164 } -- S5700-28P-PWR-LI-AC 384 | s5700-52P-LI OBJECT IDENTIFIER ::= { lanSw 165 } -- S5700-52P-LI-AC 385 | s5700-52P-PWR-LI-AC OBJECT IDENTIFIER ::= { lanSw 166 } -- S5700-52P-PWR-LI-AC 386 | s5700-28X-EI OBJECT IDENTIFIER ::= { lanSw 167 } -- S5710-28C-EI 387 | s5700-52X-EI OBJECT IDENTIFIER ::= { lanSw 168 } -- S5710-52C-EI 388 | s5700-28C-HI OBJECT IDENTIFIER ::= { lanSw 169 } 389 | s5700-28C-HI-24S OBJECT IDENTIFIER ::= { lanSw 170 } 390 | s5700-6TP-LI-AC OBJECT IDENTIFIER ::= { lanSw 171 } 391 | s3700-26C-HI OBJECT IDENTIFIER ::= { lanSw 172 } 392 | s5300-28C-PWR-EI OBJECT IDENTIFIER ::= { lanSw 173 } 393 | s5300-52C-PWR-EI OBJECT IDENTIFIER ::= { lanSw 174 } 394 | s5310-28P-LI OBJECT IDENTIFIER ::= { lanSw 175 } -- S5300-28P-LI-AC 395 | s5310-52P-LI OBJECT IDENTIFIER ::= { lanSw 176 } -- S5300-52P-LI-AC 396 | s5700-28P-LI-DC OBJECT IDENTIFIER ::= { lanSw 177 } -- S5700-28P-LI-DC 397 | s5700-52P-LI-DC OBJECT IDENTIFIER ::= { lanSw 178 } -- S5700-52P-LI-DC 398 | s5310-28P-LI-DC OBJECT IDENTIFIER ::= { lanSw 179 } -- S5300-28P-LI-DC 399 | s5310-52P-LI-DC OBJECT IDENTIFIER ::= { lanSw 180 } -- S5300-52P-LI-DC 400 | s5700S-28P-LI-AC OBJECT IDENTIFIER ::= { lanSw 181 } -- S5700S-28P-LI-AC 401 | s5700S-52P-LI-AC OBJECT IDENTIFIER ::= { lanSw 182 } -- S5700S-52P-LI-AC 402 | s1700-28GFR-4P-AC OBJECT IDENTIFIER ::= { lanSw 183 } -- S1700-28GFR-4P-AC 403 | s1700-52GFR-4P-AC OBJECT IDENTIFIER ::= { lanSw 184 } -- S1700-52GFR-4P-AC 404 | s1700-28FR-2T2P-AC OBJECT IDENTIFIER ::= { lanSw 185 } -- S1700-28FR-2T2P-AC 405 | s1700-52FR-2T2P-AC OBJECT IDENTIFIER ::= { lanSw 186 } -- S1700-52FR-2T2P-AC 406 | 407 | s5700-28C-PWR-SI OBJECT IDENTIFIER ::= { lanSw 187 } 408 | s5700-52C-PWR-SI OBJECT IDENTIFIER ::= { lanSw 188 } 409 | s5710-28C-PWR-LI OBJECT IDENTIFIER ::= { lanSw 189 } 410 | s5710-52C-PWR-LI OBJECT IDENTIFIER ::= { lanSw 190 } 411 | s5710-28C-LI OBJECT IDENTIFIER ::= { lanSw 191 } 412 | s5710-52C-LI OBJECT IDENTIFIER ::= { lanSw 192 } 413 | e6000 OBJECT IDENTIFIER ::= { lanSw 193 } 414 | s5710-28C-PWR-EI OBJECT IDENTIFIER ::= { lanSw 194 } 415 | s5710-52C-PWR-EI OBJECT IDENTIFIER ::= { lanSw 195 } 416 | 417 | s2710-26TP-PWR-SI OBJECT IDENTIFIER ::= { lanSw 196 } 418 | s2710-52P-SI-AC OBJECT IDENTIFIER ::= { lanSw 197 } 419 | s2710-52P-PWR-SI OBJECT IDENTIFIER ::= { lanSw 198 } 420 | s2700-52P-PWR-EI OBJECT IDENTIFIER ::= { lanSw 199 } 421 | s3700-52P-PWR-SI OBJECT IDENTIFIER ::= { lanSw 200 } 422 | s3700-28TP-PWR-SI OBJECT IDENTIFIER ::= { lanSw 201 } 423 | 424 | s5710-108C-PWR-HI OBJECT IDENTIFIER ::= { lanSw 202 } 425 | s5700-10P-LI-AC OBJECT IDENTIFIER ::= { lanSw 203 } 426 | s5700-10P-PWR-LI-AC OBJECT IDENTIFIER ::= { lanSw 204 } 427 | s5700-26X-SI-12S-AC OBJECT IDENTIFIER ::= { lanSw 205 } 428 | s5700-28X-LI-AC OBJECT IDENTIFIER ::= { lanSw 206 } 429 | s5700-28X-LI-DC OBJECT IDENTIFIER ::= { lanSw 207 } 430 | s5700-52X-LI-AC OBJECT IDENTIFIER ::= { lanSw 208 } 431 | s5700-52X-LI-DC OBJECT IDENTIFIER ::= { lanSw 209 } 432 | s5700-28X-PWR-LI-AC OBJECT IDENTIFIER ::= { lanSw 210 } 433 | s5700-52X-PWR-LI-AC OBJECT IDENTIFIER ::= { lanSw 211 } 434 | s5710-108C-HI-AC OBJECT IDENTIFIER ::= { lanSw 212 } 435 | s5300-10P-LI-AC OBJECT IDENTIFIER ::= { lanSw 213 } 436 | s5310-28C-EI OBJECT IDENTIFIER ::= { lanSw 214 } 437 | s5310-52C-EI OBJECT IDENTIFIER ::= { lanSw 215 } 438 | 439 | s5300-28X-LI-DC OBJECT IDENTIFIER ::= { lanSw 216 } 440 | s5300-28X-LI-AC OBJECT IDENTIFIER ::= { lanSw 217 } 441 | s5700-28X-LI-24S-DC OBJECT IDENTIFIER ::= { lanSw 218 } 442 | s5300-28X-LI-24S-DC OBJECT IDENTIFIER ::= { lanSw 219 } 443 | s5700-28X-LI-24S-AC OBJECT IDENTIFIER ::= { lanSw 220 } 444 | s5300-28X-LI-24S-AC OBJECT IDENTIFIER ::= { lanSw 221 } 445 | s2751-28TP-PWR-EI-AC OBJECT IDENTIFIER ::= { lanSw 222 } 446 | s2350-28TP-EI-AC OBJECT IDENTIFIER ::= { lanSw 223 } 447 | s2750-28TP-EI-AC OBJECT IDENTIFIER ::= { lanSw 224 } 448 | s2750-28TP-PWR-EI-AC OBJECT IDENTIFIER ::= { lanSw 225 } 449 | s2750-20TP-PWR-EI-AC OBJECT IDENTIFIER ::= { lanSw 226 } 450 | s2350-28TP-PWR-EI-AC OBJECT IDENTIFIER ::= { lanSw 227 } 451 | s2350-20TP-PWR-EI-AC OBJECT IDENTIFIER ::= { lanSw 228 } 452 | 453 | s2328P-EI-AC OBJECT IDENTIFIER ::= { lanSw 229 } 454 | s3300-52P-EI OBJECT IDENTIFIER ::= { lanSw 230 } 455 | s1700-10GF-2P-PWR OBJECT IDENTIFIER ::= { lanSw 231 } 456 | s1700-28GFR-4P-PWR OBJECT IDENTIFIER ::= { lanSw 232 } 457 | s1700-52GFR-4P-PWR OBJECT IDENTIFIER ::= { lanSw 233 } 458 | s1700-28FR-2T2P-PWR OBJECT IDENTIFIER ::= { lanSw 234 } 459 | s1700-10GF-2P OBJECT IDENTIFIER ::= { lanSw 235 } 460 | s1700-24GR OBJECT IDENTIFIER ::= { lanSw 236 } 461 | s3700-28TP-EI-24S-DC OBJECT IDENTIFIER ::= { lanSw 237 } 462 | 463 | s5701-28X-LI-AC OBJECT IDENTIFIER ::= { lanSw 238 } 464 | s5701-28X-LI-24S-AC OBJECT IDENTIFIER ::= { lanSw 239 } 465 | s5700-28P-LI-BAT OBJECT IDENTIFIER ::= { lanSw 240 } 466 | s5700-28P-LI-4AH OBJECT IDENTIFIER ::= { lanSw 241 } 467 | s5700-28P-LI-24S-BAT OBJECT IDENTIFIER ::= { lanSw 242 } 468 | s5700-28P-LI-24S-4AH OBJECT IDENTIFIER ::= { lanSw 243 } 469 | s5300-28P-LI-BAT OBJECT IDENTIFIER ::= { lanSw 244 } 470 | s5300-28P-LI-4AH OBJECT IDENTIFIER ::= { lanSw 245 } 471 | s5300-28P-LI-24S-BAT OBJECT IDENTIFIER ::= { lanSw 246 } 472 | s5300-28P-LI-24S-4AH OBJECT IDENTIFIER ::= { lanSw 247 } 473 | s5700-52X-LI-48CS-AC OBJECT IDENTIFIER ::= { lanSw 248 } 474 | s5700-52X-LI-48CS-DC OBJECT IDENTIFIER ::= { lanSw 249 } 475 | s5300-52X-LI-48CS-AC OBJECT IDENTIFIER ::= { lanSw 250 } 476 | s5300-52X-LI-48CS-DC OBJECT IDENTIFIER ::= { lanSw 251 } 477 | 478 | s5310-108C-PWR-HI OBJECT IDENTIFIER ::= { lanSw 252 } 479 | s5300-10P-PWR-LI-AC OBJECT IDENTIFIER ::= { lanSw 253 } 480 | s5300-28P-PWR-LI-AC OBJECT IDENTIFIER ::= { lanSw 254 } 481 | s5300-52P-PWR-LI-AC OBJECT IDENTIFIER ::= { lanSw 255 } 482 | s5300-52X-LI-AC OBJECT IDENTIFIER ::= { lanSw 256 } 483 | s5300-52X-LI-DC OBJECT IDENTIFIER ::= { lanSw 257 } 484 | s5300-28X-PWR-LI-AC OBJECT IDENTIFIER ::= { lanSw 258 } 485 | s5300-52X-PWR-LI-AC OBJECT IDENTIFIER ::= { lanSw 259 } 486 | s2350-28TP-EI-DC OBJECT IDENTIFIER ::= { lanSw 260 } 487 | s5700-28TP-LI-AC OBJECT IDENTIFIER ::= { lanSw 261 } 488 | s5700-28TP-PWR-LI-AC OBJECT IDENTIFIER ::= { lanSw 262 } 489 | s5701-28TP-PWR-LI-AC OBJECT IDENTIFIER ::= { lanSw 263 } 490 | s5720-56C-HI-AC OBJECT IDENTIFIER ::= { lanSw 264 } 491 | s5720-56C-PWR-HI-AC OBJECT IDENTIFIER ::= { lanSw 265 } 492 | s5720-32C-HI-24S-AC OBJECT IDENTIFIER ::= { lanSw 266 } 493 | s1720-28GFR-4TP OBJECT IDENTIFIER ::= { lanSw 267 } 494 | s1720-20GFR-4TP OBJECT IDENTIFIER ::= { lanSw 268 } 495 | s2720-28TP-EI-AC OBJECT IDENTIFIER ::= { lanSw 269 } 496 | 497 | s5720-36C-EI-28S-AC OBJECT IDENTIFIER ::= { lanSw 270 } 498 | s5320-36C-EI-28S-AC OBJECT IDENTIFIER ::= { lanSw 271 } 499 | s5320-36C-EI-28S-DC OBJECT IDENTIFIER ::= { lanSw 272 } 500 | s5720-56C-EI-48S-AC OBJECT IDENTIFIER ::= { lanSw 273 } 501 | s5320-56C-EI-48S-AC OBJECT IDENTIFIER ::= { lanSw 274 } 502 | s5320-56C-EI-48S-DC OBJECT IDENTIFIER ::= { lanSw 275 } 503 | s5720-36C-EI-AC OBJECT IDENTIFIER ::= { lanSw 276 } 504 | s5320-36C-EI-AC OBJECT IDENTIFIER ::= { lanSw 277 } 505 | s5320-36C-EI-DC OBJECT IDENTIFIER ::= { lanSw 278 } 506 | s5720-36PC-EI-AC OBJECT IDENTIFIER ::= { lanSw 279 } 507 | s5320-36PC-EI-AC OBJECT IDENTIFIER ::= { lanSw 280 } 508 | s5320-36PC-EI-DC OBJECT IDENTIFIER ::= { lanSw 281 } 509 | s5720-56C-EI-AC OBJECT IDENTIFIER ::= { lanSw 282 } 510 | s5320-56C-EI-AC OBJECT IDENTIFIER ::= { lanSw 283 } 511 | s5320-56C-EI-DC OBJECT IDENTIFIER ::= { lanSw 284 } 512 | s5720-56PC-EI-AC OBJECT IDENTIFIER ::= { lanSw 285 } 513 | s5320-56PC-EI-AC OBJECT IDENTIFIER ::= { lanSw 286 } 514 | s5320-56PC-EI-DC OBJECT IDENTIFIER ::= { lanSw 287 } 515 | s5720-36C-PWR-EI-AC OBJECT IDENTIFIER ::= { lanSw 288 } 516 | s5320-36C-PWR-EI-AC OBJECT IDENTIFIER ::= { lanSw 289 } 517 | s5320-36C-PWR-EI-DC OBJECT IDENTIFIER ::= { lanSw 290 } 518 | s5720-56C-PWR-EI-AC OBJECT IDENTIFIER ::= { lanSw 291 } 519 | s5320-56C-PWR-EI-AC OBJECT IDENTIFIER ::= { lanSw 292 } 520 | s5720-56C-PWR-EI-AC1 OBJECT IDENTIFIER ::= { lanSw 293 } 521 | s5720-32X-EI-24S-AC OBJECT IDENTIFIER ::= { lanSw 294 } 522 | s5320-32X-EI-24S-AC OBJECT IDENTIFIER ::= { lanSw 295 } 523 | s5320-32X-EI-24S-DC OBJECT IDENTIFIER ::= { lanSw 296 } 524 | s5720-50X-EI-46S-AC OBJECT IDENTIFIER ::= { lanSw 297 } 525 | s5320-50X-EI-46S-AC OBJECT IDENTIFIER ::= { lanSw 298 } 526 | s5320-50X-EI-46S-DC OBJECT IDENTIFIER ::= { lanSw 299 } 527 | s5720-32X-EI-AC OBJECT IDENTIFIER ::= { lanSw 300 } 528 | s5320-32X-EI-AC OBJECT IDENTIFIER ::= { lanSw 301 } 529 | s5320-32X-EI-DC OBJECT IDENTIFIER ::= { lanSw 302 } 530 | s5720-32P-EI-AC OBJECT IDENTIFIER ::= { lanSw 303 } 531 | s5320-32P-EI-AC OBJECT IDENTIFIER ::= { lanSw 304 } 532 | s5320-32P-EI-DC OBJECT IDENTIFIER ::= { lanSw 305 } 533 | s5720-52X-EI-AC OBJECT IDENTIFIER ::= { lanSw 306 } 534 | s5320-52X-EI-AC OBJECT IDENTIFIER ::= { lanSw 307 } 535 | s5320-52X-EI-DC OBJECT IDENTIFIER ::= { lanSw 308 } 536 | s5720-52P-EI-AC OBJECT IDENTIFIER ::= { lanSw 309 } 537 | s5320-52P-EI-AC OBJECT IDENTIFIER ::= { lanSw 310 } 538 | s5320-52P-EI-DC OBJECT IDENTIFIER ::= { lanSw 311 } 539 | s5720-50X-EI-AC OBJECT IDENTIFIER ::= { lanSw 312 } 540 | s5320-50X-EI-AC OBJECT IDENTIFIER ::= { lanSw 313 } 541 | s5320-50X-EI-DC OBJECT IDENTIFIER ::= { lanSw 314 } 542 | 543 | 544 | apon OBJECT IDENTIFIER ::= { hwProducts 24 } 545 | ma5101 OBJECT IDENTIFIER ::= { apon 1 } 546 | ma5102 OBJECT IDENTIFIER ::= { apon 2 } 547 | 548 | transmission OBJECT IDENTIFIER ::= { hwProducts 25 } 549 | optix155622H OBJECT IDENTIFIER ::= { transmission 1 } 550 | optix10Gv2 OBJECT IDENTIFIER ::= { transmission 2 } 551 | 552 | hsr OBJECT IDENTIFIER ::= { hwProducts 26 } 553 | ne16E OBJECT IDENTIFIER ::= { hsr 1 } 554 | ne08E OBJECT IDENTIFIER ::= { hsr 2 } 555 | ne05 OBJECT IDENTIFIER ::= { hsr 3 } 556 | 557 | amg5000 OBJECT IDENTIFIER ::= { hwProducts 27 } 558 | umg8900 OBJECT IDENTIFIER ::= { hwProducts 28 } 559 | ne20 OBJECT IDENTIFIER ::= { hwProducts 29 } 560 | ne20s OBJECT IDENTIFIER ::= { hwProducts 30 } 561 | ne40 OBJECT IDENTIFIER ::= { hwProducts 31 } 562 | 563 | wcdma OBJECT IDENTIFIER ::= { hwProducts 32 } 564 | sgsn OBJECT IDENTIFIER ::= { wcdma 1 } 565 | 566 | mlsr OBJECT IDENTIFIER ::= { hwProducts 33 } 567 | 568 | dslw OBJECT IDENTIFIER ::= { hwProducts 34 } 569 | dlswNode OBJECT IDENTIFIER ::= { dslw 1 } 570 | dlswTConn OBJECT IDENTIFIER ::= { dslw 2 } -- information about this DLSw 571 | dlswInterface OBJECT IDENTIFIER ::= { dslw 3 } -- about adjacent DLSw partners 572 | dlswDirectory OBJECT IDENTIFIER ::= { dslw 4 } -- about which interfaces DLSw is active on 573 | dlswCircuit OBJECT IDENTIFIER ::= { dslw 5 } -- about any directory of local/remote resources 574 | dlswSdlc OBJECT IDENTIFIER ::= { dslw 6 } -- about established circuits. 575 | dlswLlc2 OBJECT IDENTIFIER ::= { dslw 7 } -- about SDLC data link switched devices 576 | 577 | sm OBJECT IDENTIFIER ::= { hwProducts 35 } 578 | mmsc OBJECT IDENTIFIER ::= { sm 1 } 579 | 580 | as OBJECT IDENTIFIER ::= { hwProducts 36 } 581 | p3 OBJECT IDENTIFIER ::= { hwProducts 37 } 582 | 583 | iad OBJECT IDENTIFIER ::= { hwProducts 38 } 584 | iad132 OBJECT IDENTIFIER ::= { iad 1 } 585 | 586 | wlanAp OBJECT IDENTIFIER ::= { hwProducts 39 } 587 | wlanApCommon OBJECT IDENTIFIER ::= { wlanAp 1 } 588 | wlanApWA1003 OBJECT IDENTIFIER ::= { wlanAp 2 } 589 | wlanApWA1003A OBJECT IDENTIFIER ::= { wlanAp 3 } 590 | wlanApWA1005 OBJECT IDENTIFIER ::= { wlanAp 4 } 591 | wlanApWA1008 OBJECT IDENTIFIER ::= { wlanAp 5 } 592 | wlanApWA1208 OBJECT IDENTIFIER ::= { wlanAp 6 } 593 | wlanApWA1208H OBJECT IDENTIFIER ::= { wlanAp 7 } 594 | wlanApWA1006E OBJECT IDENTIFIER ::= { wlanAp 8 } 595 | wlanBridgeWB2010 OBJECT IDENTIFIER ::= { wlanAp 9 } 596 | wlanBridgeWB2011 OBJECT IDENTIFIER ::= { wlanAp 10} 597 | wa1208E OBJECT IDENTIFIER ::= { wlanAp 11} 598 | wlanAp6010DN OBJECT IDENTIFIER ::= { wlanAp 12} 599 | wlanAp6010SN OBJECT IDENTIFIER ::= { wlanAp 13} 600 | wlanAp6510DN-US OBJECT IDENTIFIER ::= { wlanAp 14} 601 | wlanAp6610DN-US OBJECT IDENTIFIER ::= { wlanAp 15} 602 | wlanAp6610DN OBJECT IDENTIFIER ::= { wlanAp 16} 603 | wlanAp6510DN OBJECT IDENTIFIER ::= { wlanAp 17} 604 | wlanAp5010DN OBJECT IDENTIFIER ::= { wlanAp 18} 605 | wlanAp3010DN OBJECT IDENTIFIER ::= { wlanAp 19} 606 | wlanAp5010SN OBJECT IDENTIFIER ::= { wlanAp 20} 607 | wlanAp5030DN OBJECT IDENTIFIER ::= { wlanAp 21} 608 | wlanAp5130DN OBJECT IDENTIFIER ::= { wlanAp 22} 609 | wlanAp8030DN OBJECT IDENTIFIER ::= { wlanAp 23} 610 | wlanAp8130DN OBJECT IDENTIFIER ::= { wlanAp 24} 611 | wlanAp9130DN OBJECT IDENTIFIER ::= { wlanAp 25} 612 | wlanAt815SN OBJECT IDENTIFIER ::= { wlanAp 27} 613 | wlanAp7110DN OBJECT IDENTIFIER ::= { wlanAp 28} 614 | wlanAp7110SN OBJECT IDENTIFIER ::= { wlanAp 29} 615 | 616 | hwinfoX OBJECT IDENTIFIER ::= { hwProducts 40 } 617 | wlanApWA1006 OBJECT IDENTIFIER ::= { hwProducts 43 } 618 | ar46-20 OBJECT IDENTIFIER ::= { hwProducts 44 } 619 | ar46-40 OBJECT IDENTIFIER ::= { hwProducts 45 } 620 | ar46-80 OBJECT IDENTIFIER ::= { hwProducts 46 } 621 | ne20-2 OBJECT IDENTIFIER ::= { hwProducts 47 } 622 | ne20-4 OBJECT IDENTIFIER ::= { hwProducts 48 } 623 | ne20-8 OBJECT IDENTIFIER ::= { hwProducts 49 } 624 | eudemon200 OBJECT IDENTIFIER ::= { hwProducts 50 } 625 | eudemon1000 OBJECT IDENTIFIER ::= { hwProducts 51 } 626 | vdg10-40 OBJECT IDENTIFIER ::= { hwProducts 52 } 627 | vdg10-41 OBJECT IDENTIFIER ::= { hwProducts 53 } 628 | hwSps OBJECT IDENTIFIER ::= { hwProducts 54 } 629 | ar18-18 OBJECT IDENTIFIER ::= { hwProducts 55 } 630 | ar18-20 OBJECT IDENTIFIER ::= { hwProducts 56 } 631 | ar18-30 OBJECT IDENTIFIER ::= { hwProducts 57 } 632 | ar18-31 OBJECT IDENTIFIER ::= { hwProducts 58 } 633 | ar18-32 OBJECT IDENTIFIER ::= { hwProducts 59 } 634 | ar18-33 OBJECT IDENTIFIER ::= { hwProducts 60 } 635 | ar18-34 OBJECT IDENTIFIER ::= { hwProducts 61 } 636 | 637 | ne5000 OBJECT IDENTIFIER ::= { hwProducts 62 } 638 | ne5000SysOid OBJECT IDENTIFIER ::= { ne5000 2 } 639 | ne5000oem OBJECT IDENTIFIER ::= { ne5000SysOid 1 } 640 | ne80E OBJECT IDENTIFIER ::= { ne5000SysOid 2 } 641 | ne5000E OBJECT IDENTIFIER ::= { ne5000SysOid 3 } 642 | ne5000EMulti OBJECT IDENTIFIER ::= { ne5000SysOid 4 } 643 | ne40E OBJECT IDENTIFIER ::= { ne5000SysOid 5 } 644 | ne5000E-BTB OBJECT IDENTIFIER ::= { ne5000SysOid 6 } 645 | ne40E-4 OBJECT IDENTIFIER ::= { ne5000SysOid 7 } 646 | ne40E-X3 OBJECT IDENTIFIER ::= { ne5000SysOid 8 } 647 | ne40E-X8 OBJECT IDENTIFIER ::= { ne5000SysOid 9 } 648 | ne40E-X16 OBJECT IDENTIFIER ::= { ne5000SysOid 10 } 649 | ne5000E-X16 OBJECT IDENTIFIER ::= { ne5000SysOid 11 } 650 | ne40E-X1 OBJECT IDENTIFIER ::= { ne5000SysOid 12 } 651 | ne40E-X2 OBJECT IDENTIFIER ::= { ne5000SysOid 13 } 652 | ne40E-X1-M4 OBJECT IDENTIFIER ::= { ne5000 14 } 653 | ne40E-X2-M8 OBJECT IDENTIFIER ::= { ne5000 15 } 654 | ne40E-X2-M16 OBJECT IDENTIFIER ::= { ne5000 16 } 655 | ne40E-X16A OBJECT IDENTIFIER ::= { ne5000SysOid 17 } 656 | ne40E-X8A OBJECT IDENTIFIER ::= { ne5000SysOid 18 } 657 | ne5000E-X8A OBJECT IDENTIFIER ::= { ne5000SysOid 19 } 658 | ne40E-M2E OBJECT IDENTIFIER ::= { ne5000 20 } 659 | ne40E-M2F OBJECT IDENTIFIER ::= { ne5000 21 } 660 | 661 | ggsn9811 OBJECT IDENTIFIER ::= { hwProducts 63 } 662 | pdsn9660 OBJECT IDENTIFIER ::= { hwProducts 64 } 663 | eudemon2100 OBJECT IDENTIFIER ::= { hwProducts 65 } 664 | eudemon2200 OBJECT IDENTIFIER ::= { hwProducts 66 } 665 | --s3552F-SI OBJECT IDENTIFIER ::= { hwProducts 67 } 666 | --s3552F-EI OBJECT IDENTIFIER ::= { hwProducts 68 } 667 | --e026 OBJECT IDENTIFIER ::= { hwProducts 69 } 668 | --e026-SI OBJECT IDENTIFIER ::= { hwProducts 70 } 669 | --e050 OBJECT IDENTIFIER ::= { hwProducts 71 } 670 | ua5000ipm OBJECT IDENTIFIER ::= { hwProducts 72 } 671 | rm9000 OBJECT IDENTIFIER ::= { hwProducts 73 } 672 | hwIMAPNorthbound OBJECT IDENTIFIER ::= { hwProducts 74 } 673 | hwBITS OBJECT IDENTIFIER ::= { hwProducts 75 } 674 | hwPv8 OBJECT IDENTIFIER ::= { hwProducts 76 } 675 | eudemon500 OBJECT IDENTIFIER ::= { hwProducts 77 } 676 | ua5000IpmB OBJECT IDENTIFIER ::= { hwProducts 78 } 677 | ua5000ApmB OBJECT IDENTIFIER ::= { hwProducts 79 } 678 | ma5600 OBJECT IDENTIFIER ::= { hwProducts 80 } 679 | ma5600V8 OBJECT IDENTIFIER ::= { ma5600 8 } 680 | softx3000UC OBJECT IDENTIFIER ::= { hwProducts 81 } 681 | hwOSTA OBJECT IDENTIFIER ::= { hwProducts 82 } 682 | secpath1800F OBJECT IDENTIFIER ::= { hwProducts 83 } 683 | eudemon2300 OBJECT IDENTIFIER ::= { hwProducts 84 } 684 | ma5100V600 OBJECT IDENTIFIER ::= { hwProducts 85 } 685 | ma5605 OBJECT IDENTIFIER ::= { hwProducts 86 } 686 | 687 | msp OBJECT IDENTIFIER ::= { hwProducts 87 } 688 | cX200A OBJECT IDENTIFIER ::= { msp 1 } 689 | cX200B OBJECT IDENTIFIER ::= { msp 2 } 690 | cX300A OBJECT IDENTIFIER ::= { msp 3 } 691 | cX300B OBJECT IDENTIFIER ::= { msp 4 } 692 | cX500A OBJECT IDENTIFIER ::= { msp 5 } 693 | cX380 OBJECT IDENTIFIER ::= { msp 6 } 694 | cX600-8 OBJECT IDENTIFIER ::= { msp 7 } 695 | cX600-16 OBJECT IDENTIFIER ::= { msp 8 } 696 | cX200C OBJECT IDENTIFIER ::= { msp 9 } 697 | cX200D OBJECT IDENTIFIER ::= { msp 10 } 698 | cX200D-EA OBJECT IDENTIFIER ::= { msp 11 } 699 | cX200D-MC OBJECT IDENTIFIER ::= { msp 12 } 700 | cX600-4 OBJECT IDENTIFIER ::= { msp 13 } 701 | cX380-PBT OBJECT IDENTIFIER ::= { msp 14 } 702 | cX380-ME OBJECT IDENTIFIER ::= { msp 15 } 703 | cX200D-EA-MC OBJECT IDENTIFIER ::= { msp 16 } 704 | cX600-X3 OBJECT IDENTIFIER ::= { msp 17 } 705 | cX600-X8 OBJECT IDENTIFIER ::= { msp 18 } 706 | cX600-X16 OBJECT IDENTIFIER ::= { msp 19 } 707 | cX600-X1 OBJECT IDENTIFIER ::= { msp 20 } 708 | cX600-X2 OBJECT IDENTIFIER ::= { msp 21 } 709 | cX600-X1DO OBJECT IDENTIFIER ::= { msp 22 } 710 | cX600-X2DO OBJECT IDENTIFIER ::= { msp 23 } 711 | cX600-X3DO OBJECT IDENTIFIER ::= { msp 24 } 712 | cX600-X8DO OBJECT IDENTIFIER ::= { msp 25 } 713 | cX600-X16DO OBJECT IDENTIFIER ::= { msp 26 } 714 | cX600-X1-M4 OBJECT IDENTIFIER ::= { msp 27 } 715 | cX600-X2-M8 OBJECT IDENTIFIER ::= { msp 28 } 716 | cX600-X2-M16 OBJECT IDENTIFIER ::= { msp 29 } 717 | cX600-M4-DO OBJECT IDENTIFIER ::= { msp 30 } 718 | cX600-M8-DO OBJECT IDENTIFIER ::= { msp 31 } 719 | cX600-M16-DO OBJECT IDENTIFIER ::= { msp 32 } 720 | cX600-X8A OBJECT IDENTIFIER ::= { msp 33 } 721 | cX600-X16A OBJECT IDENTIFIER ::= { msp 34 } 722 | cX600-M2E OBJECT IDENTIFIER ::= { msp 35 } 723 | cX600-M2F OBJECT IDENTIFIER ::= { msp 36 } 724 | ne20E OBJECT IDENTIFIER ::= { hwProducts 88 } 725 | ne20E-4 OBJECT IDENTIFIER ::= { ne20E 1 } 726 | ne20E-8 OBJECT IDENTIFIER ::= { ne20E 2 } 727 | ne20E-X6 OBJECT IDENTIFIER ::= { ne20E 3 } 728 | ne20E-S4 OBJECT IDENTIFIER ::= { ne20E 4} 729 | ne20E-S8 OBJECT IDENTIFIER ::= { ne20E 5 } 730 | ne20E-S16 OBJECT IDENTIFIER ::= { ne20E 6 } 731 | ne20E-S2E OBJECT IDENTIFIER ::= { ne20E 7 } 732 | ne20E-S2F OBJECT IDENTIFIER ::= { ne20E 8 } 733 | 734 | me60 OBJECT IDENTIFIER ::= { hwProducts 89} 735 | me60-16 OBJECT IDENTIFIER ::= { me60 1 } 736 | me60-8 OBJECT IDENTIFIER ::= { me60 2 } 737 | me60-4 OBJECT IDENTIFIER ::= { me60 3 } 738 | me60-X3 OBJECT IDENTIFIER ::= { me60 4 } 739 | me60-X8 OBJECT IDENTIFIER ::= { me60 5 } 740 | me60-X16 OBJECT IDENTIFIER ::= { me60 6 } 741 | me60-X8A OBJECT IDENTIFIER ::= { me60 7 } 742 | me60-X16A OBJECT IDENTIFIER ::= { me60 8 } 743 | ma5606 OBJECT IDENTIFIER ::= { hwProducts 109} 744 | eudemon300 OBJECT IDENTIFIER ::= { hwProducts 113} 745 | eudemonVPN3900 OBJECT IDENTIFIER ::= { hwProducts 114} 746 | eudemonEVPN5900 OBJECT IDENTIFIER ::= { hwProducts 115} 747 | eudemon100E OBJECT IDENTIFIER ::= { hwProducts 116} 748 | eudemon200E OBJECT IDENTIFIER ::= { hwProducts 117} 749 | eudemon200S OBJECT IDENTIFIER ::= { hwProducts 118} 750 | ma5603T OBJECT IDENTIFIER ::= { hwProducts 123} 751 | svn3000 OBJECT IDENTIFIER ::= { hwProducts 124} 752 | usg5000 OBJECT IDENTIFIER ::= { hwProducts 125} 753 | usg9000 OBJECT IDENTIFIER ::= { hwProducts 126} 754 | eudemon200s OBJECT IDENTIFIER ::= { hwProducts 127} 755 | ma5620E OBJECT IDENTIFIER ::= { hwProducts 128} 756 | sig1000 OBJECT IDENTIFIER ::= { hwProducts 129} 757 | sig9280 OBJECT IDENTIFIER ::= { hwProducts 130} 758 | sig2000 OBJECT IDENTIFIER ::= { hwProducts 131} 759 | ma5626E OBJECT IDENTIFIER ::= { hwProducts 132} 760 | ma5683 OBJECT IDENTIFIER ::= { hwProducts 133} 761 | ma5620G OBJECT IDENTIFIER ::= { hwProducts 134} 762 | ma5626G OBJECT IDENTIFIER ::= { hwProducts 135} 763 | ma5651G OBJECT IDENTIFIER ::= { hwProducts 136} 764 | ma5651 OBJECT IDENTIFIER ::= { hwProducts 137} 765 | ma5610 OBJECT IDENTIFIER ::= { hwProducts 167} 766 | ma5652G OBJECT IDENTIFIER ::= { hwProducts 168} 767 | ma5616 OBJECT IDENTIFIER ::= { hwProducts 169} 768 | s9300 OBJECT IDENTIFIER ::= { hwProducts 170} 769 | s9303 OBJECT IDENTIFIER ::= { s9300 1} 770 | s9306 OBJECT IDENTIFIER ::= { s9300 2} 771 | s9312 OBJECT IDENTIFIER ::= { s9300 3} 772 | vasp OBJECT IDENTIFIER ::= { s9300 4} 773 | s9303E OBJECT IDENTIFIER ::= { s9300 5} 774 | s9306E OBJECT IDENTIFIER ::= { s9300 6} 775 | s9312E OBJECT IDENTIFIER ::= { s9300 7} 776 | 777 | ma5603U OBJECT IDENTIFIER ::= { hwProducts 172} 778 | mINIUA OBJECT IDENTIFIER ::= { hwProducts 173} 779 | ma5618 OBJECT IDENTIFIER ::= { hwProducts 174} 780 | sig9810 OBJECT IDENTIFIER ::= { hwProducts 177} 781 | sig9820 OBJECT IDENTIFIER ::= { hwProducts 178} 782 | sig-server OBJECT IDENTIFIER ::= { hwProducts 179} 783 | ptn OBJECT IDENTIFIER ::= { hwProducts 182} 784 | ptn2900 OBJECT IDENTIFIER ::= { ptn 1 } 785 | ptn6900 OBJECT IDENTIFIER ::= { ptn 2 } 786 | ptn6900-16 OBJECT IDENTIFIER ::= { ptn 5 } 787 | ptn6900-8 OBJECT IDENTIFIER ::= { ptn 6 } 788 | ptn6900-3 OBJECT IDENTIFIER ::= { ptn 7 } 789 | ptn6900-2 OBJECT IDENTIFIER ::= { ptn 8 } 790 | ptn6900-1 OBJECT IDENTIFIER ::= { ptn 9 } 791 | ptn6900-1-M4 OBJECT IDENTIFIER ::= { ptn 10 } 792 | ptn6900-2-M8 OBJECT IDENTIFIER ::= { ptn 11 } 793 | ptn6900-2-M16 OBJECT IDENTIFIER ::= { ptn 12 } 794 | ptn6900-M2E OBJECT IDENTIFIER ::= { ptn 15 } 795 | ptn6900-M2F OBJECT IDENTIFIER ::= { ptn 16 } 796 | 797 | ptn7900-32 OBJECT IDENTIFIER ::= { ptn 13 } -- 2013-8-15 added by lishaobin 798 | ptn7900-24 OBJECT IDENTIFIER ::= { ptn 14 } -- 2013-8-15 added by lishaobin 799 | ptn6900-8A OBJECT IDENTIFIER ::= { ptn 17 } 800 | ptn6900-16A OBJECT IDENTIFIER ::= { ptn 18 } 801 | ma5612 OBJECT IDENTIFIER ::= { hwProducts 184} 802 | ma5620 OBJECT IDENTIFIER ::= { hwProducts 185} 803 | ma5626 OBJECT IDENTIFIER ::= { hwProducts 186} 804 | 805 | nse OBJECT IDENTIFIER ::= { hwProducts 187} 806 | ssp1000 OBJECT IDENTIFIER ::= { nse 1 } 807 | ssp2000 OBJECT IDENTIFIER ::= { nse 2 } 808 | ssp3000 OBJECT IDENTIFIER ::= { nse 3 } 809 | ssp1000-4 OBJECT IDENTIFIER ::= { nse 4 } 810 | nse1000-4 OBJECT IDENTIFIER ::= { nse 5 } 811 | nse1000-8 OBJECT IDENTIFIER ::= { nse 6 } 812 | nse1000-X3 OBJECT IDENTIFIER ::= { nse 7 } 813 | ssp5000-X3 OBJECT IDENTIFIER ::= { nse 8 } 814 | ssp5000-X8 OBJECT IDENTIFIER ::= { nse 9 } 815 | ssp5000-X16 OBJECT IDENTIFIER ::= { nse 10 } 816 | nse1000-X8 OBJECT IDENTIFIER ::= { nse 11 } 817 | nse1000-X16 OBJECT IDENTIFIER ::= { nse 12 } 818 | 819 | 820 | 821 | 822 | 823 | usg9100 OBJECT IDENTIFIER ::= { hwProducts 189} 824 | usg9110 OBJECT IDENTIFIER ::= { usg9100 1} 825 | usg9120 OBJECT IDENTIFIER ::= { usg9100 2} 826 | 827 | ma5635 OBJECT IDENTIFIER ::= { hwProducts 190} 828 | ma5662 OBJECT IDENTIFIER ::= { hwProducts 195} 829 | atn931 OBJECT IDENTIFIER ::= { hwProducts 199} 830 | ma5628 OBJECT IDENTIFIER ::= { hwProducts 213} 831 | ma5631 OBJECT IDENTIFIER ::= { hwProducts 219} 832 | 833 | atn OBJECT IDENTIFIER ::= { hwProducts 220} 834 | atn980 OBJECT IDENTIFIER ::= { atn 1 } 835 | atn990 OBJECT IDENTIFIER ::= { atn 2 } 836 | atn910 OBJECT IDENTIFIER ::= { atn 3 } 837 | atn950 OBJECT IDENTIFIER ::= { atn 4 } 838 | atn950B OBJECT IDENTIFIER ::= { atn 5 } 839 | atn910IAc OBJECT IDENTIFIER ::= { atn 6 } 840 | atn910IDc OBJECT IDENTIFIER ::= { atn 7 } 841 | atn910ICAc OBJECT IDENTIFIER ::= { atn 8 } 842 | atn910ITcDc OBJECT IDENTIFIER ::= { atn 9 } 843 | atn910IPAc OBJECT IDENTIFIER ::= { atn 10 } 844 | atn905Ac OBJECT IDENTIFIER ::= { atn 11 } 845 | atn905AAc OBJECT IDENTIFIER ::= { atn 12 } 846 | atn905APAc OBJECT IDENTIFIER ::= { atn 13 } 847 | atn905-AV-Ac OBJECT IDENTIFIER ::= { atn 14 } 848 | atn910B OBJECT IDENTIFIER ::= { atn 15 } 849 | atn910I-D-Dc OBJECT IDENTIFIER ::= { atn 16 } 850 | atn910I-D-Ac OBJECT IDENTIFIER ::= { atn 17 } 851 | atn910I-B-Dc OBJECT IDENTIFIER ::= { atn 18 } 852 | atn910I-E-Dc OBJECT IDENTIFIER ::= { atn 19 } 853 | atn905V-Ac OBJECT IDENTIFIER ::= { atn 20 } 854 | atn905-Dc OBJECT IDENTIFIER ::= { atn 21 } 855 | ma5652 OBJECT IDENTIFIER ::= { hwProducts 221} 856 | ma5622 OBJECT IDENTIFIER ::= { hwProducts 222} 857 | s7700 OBJECT IDENTIFIER ::= { hwProducts 223} 858 | s7703 OBJECT IDENTIFIER ::= { s7700 1} 859 | s7706 OBJECT IDENTIFIER ::= { s7700 2} 860 | s7712 OBJECT IDENTIFIER ::= { s7700 3} 861 | 862 | ar OBJECT IDENTIFIER ::= { hwProducts 224} 863 | ar1220 OBJECT IDENTIFIER ::= { ar 1 } 864 | ar1220w OBJECT IDENTIFIER ::= { ar 2 } 865 | ar1240 OBJECT IDENTIFIER ::= { ar 3 } 866 | ar1240w OBJECT IDENTIFIER ::= { ar 4 } 867 | ar2220 OBJECT IDENTIFIER ::= { ar 5 } 868 | ar2240 OBJECT IDENTIFIER ::= { ar 6 } 869 | ar3260 OBJECT IDENTIFIER ::= { ar 7 } 870 | ar1220v OBJECT IDENTIFIER ::= { ar 8 } 871 | ar201 OBJECT IDENTIFIER ::= { ar 9 } 872 | ar206 OBJECT IDENTIFIER ::= { ar 10 } 873 | ar207 OBJECT IDENTIFIER ::= { ar 11 } 874 | ar207v OBJECT IDENTIFIER ::= { ar 12 } 875 | ar208e OBJECT IDENTIFIER ::= { ar 13 } 876 | ar1220vw OBJECT IDENTIFIER ::= { ar 14 } 877 | ar1220s OBJECT IDENTIFIER ::= { ar 15 } 878 | ar1220ws OBJECT IDENTIFIER ::= { ar 16 } 879 | ar207vp OBJECT IDENTIFIER ::= { ar 24 } 880 | ar201s OBJECT IDENTIFIER ::= { ar 25 } 881 | ar207s OBJECT IDENTIFIER ::= { ar 26 } 882 | ar151 OBJECT IDENTIFIER ::= { ar 27 } 883 | ar157 OBJECT IDENTIFIER ::= { ar 28 } 884 | ar2220s OBJECT IDENTIFIER ::= { ar 29 } 885 | ar1220l OBJECT IDENTIFIER ::= { ar 30 } 886 | ar207g-hspa7 OBJECT IDENTIFIER ::= { ar 31 } 887 | ar156 OBJECT IDENTIFIER ::= { ar 32 } 888 | ar158e OBJECT IDENTIFIER ::= { ar 33 } 889 | ar151g-hspa7 OBJECT IDENTIFIER ::= { ar 34 } 890 | ar157g-hspa7 OBJECT IDENTIFIER ::= { ar 35 } 891 | ar151w-p OBJECT IDENTIFIER ::= { ar 36 } 892 | ar157w OBJECT IDENTIFIER ::= { ar 37 } 893 | ar1220d OBJECT IDENTIFIER ::= { ar 38 } 894 | ar157vw OBJECT IDENTIFIER ::= { ar 39 } 895 | ar158evw OBJECT IDENTIFIER ::= { ar 40 } 896 | ar2201-48fe OBJECT IDENTIFIER ::= { ar 41 } 897 | ar2202-48fe OBJECT IDENTIFIER ::= { ar 42 } 898 | ar2220l OBJECT IDENTIFIER ::= { ar 43 } 899 | ar201vw-p OBJECT IDENTIFIER ::= { ar 44 } 900 | ar207vw OBJECT IDENTIFIER ::= { ar 45 } 901 | ar2230 OBJECT IDENTIFIER ::= { ar 46 } 902 | ar2220d OBJECT IDENTIFIER ::= { ar 47 } 903 | ar2204 OBJECT IDENTIFIER ::= { ar 48 } 904 | usr20-6 OBJECT IDENTIFIER ::= { ar 49 } 905 | usr20-8 OBJECT IDENTIFIER ::= { ar 50 } 906 | ar531gph OBJECT IDENTIFIER ::= { ar 51 } 907 | ar531gbpdh OBJECT IDENTIFIER ::= { ar 52 } 908 | ar5312ch OBJECT IDENTIFIER ::= { ar 53 } 909 | ar531f2ch OBJECT IDENTIFIER ::= { ar 54 } 910 | ar151gevdo OBJECT IDENTIFIER ::= { ar 55 } 911 | ar156i OBJECT IDENTIFIER ::= { ar 56 } 912 | ar156iw OBJECT IDENTIFIER ::= { ar 57 } 913 | ar157i OBJECT IDENTIFIER ::= { ar 58 } 914 | ar157iw OBJECT IDENTIFIER ::= { ar 59 } 915 | ar168f OBJECT IDENTIFIER ::= { ar 60 } 916 | ar168fw OBJECT IDENTIFIER ::= { ar 61 } 917 | ar169f OBJECT IDENTIFIER ::= { ar 62 } 918 | ar169w OBJECT IDENTIFIER ::= { ar 63 } 919 | ar169fw OBJECT IDENTIFIER ::= { ar 64 } 920 | ar169bf OBJECT IDENTIFIER ::= { ar 65 } 921 | ar169bfw OBJECT IDENTIFIER ::= { ar 66 } 922 | ar1220f OBJECT IDENTIFIER ::= { ar 67 } 923 | ar1220fw OBJECT IDENTIFIER ::= { ar 68 } 924 | ar151s OBJECT IDENTIFIER ::= { ar 69 } 925 | ar151wps OBJECT IDENTIFIER ::= { ar 70 } 926 | ar151gus OBJECT IDENTIFIER ::= { ar 71 } 927 | ar1220ls OBJECT IDENTIFIER ::= { ar 72 } 928 | ar2201-48fes OBJECT IDENTIFIER ::= { ar 73 } 929 | ar2204s OBJECT IDENTIFIER ::= { ar 74 } 930 | ar2240s OBJECT IDENTIFIER ::= { ar 75 } 931 | ar159 OBJECT IDENTIFIER ::= { ar 76 } 932 | ar2540h OBJECT IDENTIFIER ::= { ar 77 } 933 | ar3560h OBJECT IDENTIFIER ::= { ar 78 } 934 | ar121s OBJECT IDENTIFIER ::= { ar 79 } 935 | ar161fs OBJECT IDENTIFIER ::= { ar 80 } 936 | ar156w OBJECT IDENTIFIER ::= { ar 81 } 937 | ar159fw OBJECT IDENTIFIER ::= { ar 82 } 938 | ar161fgw-l OBJECT IDENTIFIER ::= { ar 83 } 939 | ar161fg-l OBJECT IDENTIFIER ::= { ar 84 } 940 | ar162f OBJECT IDENTIFIER ::= { ar 85 } 941 | ar169fvw OBJECT IDENTIFIER ::= { ar 86 } 942 | ar161fw-p-m5 OBJECT IDENTIFIER ::= { ar 87 } 943 | ar511gw-uav2m5 OBJECT IDENTIFIER ::= { ar 88 } 944 | ar169gfvw-l OBJECT IDENTIFIER ::= { ar 89 } 945 | ar531gbp-u-h OBJECT IDENTIFIER ::= { ar 90 } 946 | ar511gw-lav2m3 OBJECT IDENTIFIER ::= { ar 94 } 947 | ar161a OBJECT IDENTIFIER ::= { ar 95 } 948 | ar169a OBJECT IDENTIFIER ::= { ar 96 } 949 | ar161ag-l OBJECT IDENTIFIER ::= { ar 97 } 950 | ar169agw-i OBJECT IDENTIFIER ::= { ar 98 } 951 | ar1220evw OBJECT IDENTIFIER ::= { ar 99 } 952 | ar2220e OBJECT IDENTIFIER ::= { ar 100 } 953 | ar3670 OBJECT IDENTIFIER ::= { ar 101 } 954 | ar3650 OBJECT IDENTIFIER ::= { ar 102 } 955 | ar2630 OBJECT IDENTIFIER ::= { ar 103 } 956 | ar2204e OBJECT IDENTIFIER ::= { ar 104 } 957 | ar2220e-l OBJECT IDENTIFIER ::= { ar 105 } 958 | ar511gw-l-b3 OBJECT IDENTIFIER ::= { ar 106 } 959 | ar511gw-lm7 OBJECT IDENTIFIER ::= { ar 107 } 960 | ar513w-v3m8 OBJECT IDENTIFIER ::= { ar 108 } 961 | ar1220e-s OBJECT IDENTIFIER ::= { ar 109 } 962 | ar3260-s OBJECT IDENTIFIER ::= { ar 110 } 963 | ar531g-u-d-h OBJECT IDENTIFIER ::= { ar 111 } 964 | ar531gpe-u-h OBJECT IDENTIFIER ::= { ar 112 } 965 | ar531gr-u-h OBJECT IDENTIFIER ::= { ar 113 } 966 | ar550-8fe-d-h OBJECT IDENTIFIER ::= { ar 114 } 967 | ar550-24fe-d-h OBJECT IDENTIFIER ::= { ar 115 } 968 | ar502g OBJECT IDENTIFIER ::= { ar 116 } 969 | ar531gp-h OBJECT IDENTIFIER ::= { ar 117 } 970 | ar531gb-u-d-h OBJECT IDENTIFIER ::= { ar 118 } 971 | ar161 OBJECT IDENTIFIER ::= { ar 119 } 972 | ar161g-le OBJECT IDENTIFIER ::= { ar 120 } 973 | ar161g-hspa7 OBJECT IDENTIFIER ::= { ar 121 } 974 | ar161gw-l OBJECT IDENTIFIER ::= { ar 122 } 975 | ar169 OBJECT IDENTIFIER ::= { ar 123 } 976 | ar169g-le OBJECT IDENTIFIER ::= { ar 124 } 977 | ar169g-hspa7 OBJECT IDENTIFIER ::= { ar 125 } 978 | ar121 OBJECT IDENTIFIER ::= { ar 126 } 979 | ar129 OBJECT IDENTIFIER ::= { ar 127 } 980 | ar503gw-lm6 OBJECT IDENTIFIER ::= { ar 128 } 981 | ar169-p-m9 OBJECT IDENTIFIER ::= { ar 129 } 982 | ar1220e OBJECT IDENTIFIER ::= { ar 130 } 983 | ar1220ev OBJECT IDENTIFIER ::= { ar 131 } 984 | ar161f OBJECT IDENTIFIER ::= { ar 132 } 985 | ar169fgw-l OBJECT IDENTIFIER ::= { ar 133 } 986 | ar161-s OBJECT IDENTIFIER ::= { ar 134 } 987 | ar161fw OBJECT IDENTIFIER ::= { ar 135 } 988 | ar1220f-s OBJECT IDENTIFIER ::= { ar 136 } 989 | 990 | s12700 OBJECT IDENTIFIER ::= { hwProducts 225} 991 | s12708 OBJECT IDENTIFIER ::= { s12700 1 } 992 | s12716 OBJECT IDENTIFIER ::= { s12700 2 } 993 | hwIODN OBJECT IDENTIFIER ::= { hwProducts 226} 994 | vRGW OBJECT IDENTIFIER ::= { hwProducts 227} 995 | ma5632 OBJECT IDENTIFIER ::= { hwProducts 228} 996 | ma5661 OBJECT IDENTIFIER ::= { hwProducts 229} 997 | ma5669 OBJECT IDENTIFIER ::= { hwProducts 232} 998 | ma5621a OBJECT IDENTIFIER ::= { hwProducts 233} 999 | ma5623 OBJECT IDENTIFIER ::= { hwProducts 234} 1000 | s9700 OBJECT IDENTIFIER ::= { hwProducts 236} 1001 | s9703 OBJECT IDENTIFIER ::= { s9700 1} 1002 | s9706 OBJECT IDENTIFIER ::= { s9700 2} 1003 | s9712 OBJECT IDENTIFIER ::= { s9700 3} 1004 | 1005 | 1006 | dcswitch OBJECT IDENTIFIER ::= { hwProducts 239} 1007 | ce12804 OBJECT IDENTIFIER ::= { dcswitch 1} 1008 | ce12808 OBJECT IDENTIFIER ::= { dcswitch 2} 1009 | ce12812 OBJECT IDENTIFIER ::= { dcswitch 3} 1010 | ce5850-54Q-EI-48T OBJECT IDENTIFIER ::= { dcswitch 4} 1011 | ce6850-52Q-EI-48S OBJECT IDENTIFIER ::= { dcswitch 5} 1012 | ce6850-52Q-EI-48T OBJECT IDENTIFIER ::= { dcswitch 6} 1013 | ce5810-24T4S-EI OBJECT IDENTIFIER ::= { dcswitch 7} 1014 | ce5810-48T4S-EI OBJECT IDENTIFIER ::= { dcswitch 8} 1015 | ce12816 OBJECT IDENTIFIER ::= { dcswitch 9} 1016 | ce5850-48T4S2Q-HI OBJECT IDENTIFIER ::= { dcswitch 10} 1017 | ce7850-32Q-EI OBJECT IDENTIFIER ::= { dcswitch 11} 1018 | ce6810-48S4Q-EI OBJECT IDENTIFIER ::= { dcswitch 12} 1019 | ce6810-48S4Q-LI OBJECT IDENTIFIER ::= { dcswitch 13} 1020 | ce6810-48S-LI OBJECT IDENTIFIER ::= { dcswitch 14} 1021 | ce12804S OBJECT IDENTIFIER ::= { dcswitch 15} 1022 | ce12808S OBJECT IDENTIFIER ::= { dcswitch 16} 1023 | ce6850-48S6Q-HI OBJECT IDENTIFIER ::= { dcswitch 17} 1024 | 1025 | wlan OBJECT IDENTIFIER ::= { hwProducts 240 } 1026 | acu OBJECT IDENTIFIER ::= { wlan 1 } 1027 | ac6605-lsw OBJECT IDENTIFIER ::= { wlan 2 } 1028 | ac6605-ac OBJECT IDENTIFIER ::= { wlan 3 } 1029 | ac6005 OBJECT IDENTIFIER ::= { wlan 4 } 1030 | ac6005-pwr OBJECT IDENTIFIER ::= { wlan 5 } 1031 | ac6605 OBJECT IDENTIFIER ::= { wlan 6 } 1032 | acu2 OBJECT IDENTIFIER ::= { wlan 7 } 1033 | 1034 | srg OBJECT IDENTIFIER ::= { hwProducts 244} 1035 | srg1320v OBJECT IDENTIFIER ::= { srg 1 } 1036 | srg1320vw OBJECT IDENTIFIER ::= { srg 2 } 1037 | srg2320 OBJECT IDENTIFIER ::= { srg 3 } 1038 | srg3340 OBJECT IDENTIFIER ::= { srg 4 } 1039 | srg3360 OBJECT IDENTIFIER ::= { srg 5 } 1040 | srg303w OBJECT IDENTIFIER ::= { srg 6 } 1041 | srg303vw OBJECT IDENTIFIER ::= { srg 7 } 1042 | srg2320d OBJECT IDENTIFIER ::= { srg 8 } 1043 | srg2304 OBJECT IDENTIFIER ::= { srg 9 } 1044 | srg2330 OBJECT IDENTIFIER ::= { srg 10 } 1045 | srg1320 OBJECT IDENTIFIER ::= { srg 11 } 1046 | srg1320w OBJECT IDENTIFIER ::= { srg 12 } 1047 | srg2320e OBJECT IDENTIFIER ::= { srg 13 } 1048 | 1049 | ma5623a OBJECT IDENTIFIER ::= { hwProducts 246} 1050 | ma5633 OBJECT IDENTIFIER ::= { hwProducts 249} 1051 | ma5608T OBJECT IDENTIFIER ::= { hwProducts 248} 1052 | ma5898 OBJECT IDENTIFIER ::= { hwProducts 260} 1053 | ma5821 OBJECT IDENTIFIER ::= { hwProducts 262} 1054 | ma5822 OBJECT IDENTIFIER ::= { hwProducts 263} 1055 | ma5818 OBJECT IDENTIFIER ::= { hwProducts 266} 1056 | ma5698 OBJECT IDENTIFIER ::= { hwProducts 267} 1057 | ma5694 OBJECT IDENTIFIER ::= { hwProducts 268} 1058 | ma5611s OBJECT IDENTIFIER ::= { hwProducts 273} 1059 | ma5622A-8 OBJECT IDENTIFIER ::= { hwProducts 274} 1060 | ma5622A-16 OBJECT IDENTIFIER ::= { hwProducts 275} 1061 | ma5811s OBJECT IDENTIFIER ::= { hwProducts 296} 1062 | 1063 | s12700lsw OBJECT IDENTIFIER ::= { hwProducts 279} 1064 | s12708lsw OBJECT IDENTIFIER ::= { s12700lsw 1} 1065 | s12712lsw OBJECT IDENTIFIER ::= { s12700lsw 2} 1066 | 1067 | application-router OBJECT IDENTIFIER ::= { hwProducts 282} 1068 | ne16ex-8 OBJECT IDENTIFIER ::= { application-router 1 } 1069 | ne16ex-6 OBJECT IDENTIFIER ::= { application-router 2 } 1070 | ma5675m OBJECT IDENTIFIER ::= { hwProducts 285} 1071 | ma5675 OBJECT IDENTIFIER ::= { hwProducts 286} 1072 | hwRPS OBJECT IDENTIFIER ::= { hwProducts 287} 1073 | osn-wdm OBJECT IDENTIFIER ::= { hwProducts 292} 1074 | osn9800-u16 OBJECT IDENTIFIER ::= { osn-wdm 1 } 1075 | osn9800-u32 OBJECT IDENTIFIER ::= { osn-wdm 2 } 1076 | osn9800-u64 OBJECT IDENTIFIER ::= { osn-wdm 3 } 1077 | osn9600-u16 OBJECT IDENTIFIER ::= { osn-wdm 4 } 1078 | osn9600-u32 OBJECT IDENTIFIER ::= { osn-wdm 5 } 1079 | osn9600-u64 OBJECT IDENTIFIER ::= { osn-wdm 6 } 1080 | ma5800 OBJECT IDENTIFIER ::= { hwProducts 294} 1081 | huaweiExperimental OBJECT IDENTIFIER ::= { huawei 4 } 1082 | 1083 | huaweiMgmt OBJECT IDENTIFIER ::= { huawei 5 } 1084 | hwAcl OBJECT IDENTIFIER ::= { huaweiMgmt 1 } 1085 | hwAaa OBJECT IDENTIFIER ::= { huaweiMgmt 2 } 1086 | hwLam OBJECT IDENTIFIER ::= { huaweiMgmt 3 } 1087 | hwPortal OBJECT IDENTIFIER ::= { huaweiMgmt 4 } 1088 | hwRadius OBJECT IDENTIFIER ::= { huaweiMgmt 5 } 1089 | hwVlan OBJECT IDENTIFIER ::= { huaweiMgmt 6 } 1090 | 1091 | hwDhcp OBJECT IDENTIFIER ::= { huaweiMgmt 7 } 1092 | hwDHCPRelayMib OBJECT IDENTIFIER ::= { hwDhcp 1 } 1093 | hwDHCPServerMib OBJECT IDENTIFIER ::= { hwDhcp 2 } 1094 | 1095 | hwVprn OBJECT IDENTIFIER ::= { huaweiMgmt 8 } 1096 | hwFr OBJECT IDENTIFIER ::= { huaweiMgmt 9 } 1097 | hwAtmCmRm OBJECT IDENTIFIER ::= { huaweiMgmt 10 } 1098 | hwCes OBJECT IDENTIFIER ::= { huaweiMgmt 11 } 1099 | 1100 | hwMpls OBJECT IDENTIFIER ::= { huaweiMgmt 12 } 1101 | hwMplsLsr OBJECT IDENTIFIER ::= { hwMpls 1 } 1102 | hwMplsLdp OBJECT IDENTIFIER ::= { hwMpls 2 } 1103 | hwMplsVpn OBJECT IDENTIFIER ::= { hwMpls 3 } 1104 | hwMplsFtn OBJECT IDENTIFIER ::= { hwMpls 4 } 1105 | hwMplsVpls OBJECT IDENTIFIER ::= { hwMpls 5 } 1106 | hwMplsLsp OBJECT IDENTIFIER ::= { hwMpls 6 } 1107 | hwMplsOam OBJECT IDENTIFIER ::= { hwMpls 7 } 1108 | hwPw OBJECT IDENTIFIER ::= { hwMpls 8 } 1109 | 1110 | hwRouteManagement OBJECT IDENTIFIER ::= { huaweiMgmt 13 } 1111 | hwRouteManagementUrm OBJECT IDENTIFIER ::= { hwRouteManagement 1 } 1112 | hwRouteManagementMrm OBJECT IDENTIFIER ::= { hwRouteManagement 2 } 1113 | hwRouteManagementRpm OBJECT IDENTIFIER ::= { hwRouteManagement 3 } 1114 | 1115 | hwEthernetPort OBJECT IDENTIFIER ::= { huaweiMgmt 14 } 1116 | hwVTP OBJECT IDENTIFIER ::= { huaweiMgmt 15 } 1117 | hwMam OBJECT IDENTIFIER ::= { huaweiMgmt 16 } 1118 | hwArpProxy OBJECT IDENTIFIER ::= { huaweiMgmt 17 } 1119 | hwDhcpProxy OBJECT IDENTIFIER ::= { huaweiMgmt 18 } 1120 | hwIgspSnooping OBJECT IDENTIFIER ::= { huaweiMgmt 19 } 1121 | hwGarpExt OBJECT IDENTIFIER ::= { huaweiMgmt 20 } 1122 | hwRstpExt OBJECT IDENTIFIER ::= { huaweiMgmt 21 } 1123 | hwPae8021xExt OBJECT IDENTIFIER ::= { huaweiMgmt 22 } 1124 | hwNat OBJECT IDENTIFIER ::= { huaweiMgmt 23 } 1125 | hwVlanProtocol OBJECT IDENTIFIER ::= { huaweiMgmt 24 } 1126 | hwDatacomm OBJECT IDENTIFIER ::= { huaweiMgmt 25 } 1127 | 1128 | hwImps OBJECT IDENTIFIER ::= { huaweiMgmt 26 } 1129 | hwPvmMiaoAMIB OBJECT IDENTIFIER ::= { huaweiMgmt 27 } 1130 | hwTdmMIB OBJECT IDENTIFIER ::= { huaweiMgmt 30 } 1131 | hwGponDeviceMIB OBJECT IDENTIFIER ::= { huaweiMgmt 100 } 1132 | hwDslamAaa OBJECT IDENTIFIER ::= { huaweiMgmt 109 } 1133 | 1134 | 1135 | hwBRASMib OBJECT IDENTIFIER ::= { hwDatacomm 40 } 1136 | 1137 | huaweiUtility OBJECT IDENTIFIER ::= { huawei 6 } 1138 | hwEnvironment OBJECT IDENTIFIER ::= { huaweiUtility 1 } 1139 | hwPower OBJECT IDENTIFIER ::= { huaweiUtility 2 } 1140 | hwDev OBJECT IDENTIFIER ::= { huaweiUtility 3 } 1141 | hwNtp OBJECT IDENTIFIER ::= { huaweiUtility 4 } 1142 | hwMem OBJECT IDENTIFIER ::= { huaweiUtility 5 } 1143 | hwLoadBackup OBJECT IDENTIFIER ::= { huaweiUtility 6 } 1144 | hwCluster OBJECT IDENTIFIER ::= { huaweiUtility 7 } 1145 | hwIppool OBJECT IDENTIFIER ::= { huaweiUtility 8 } 1146 | hwFlash OBJECT IDENTIFIER ::= { huaweiUtility 9 } 1147 | hwConfig OBJECT IDENTIFIER ::= { huaweiUtility 10 } 1148 | hwAtmOam OBJECT IDENTIFIER ::= { huaweiUtility 11 } 1149 | hwAtmPos OBJECT IDENTIFIER ::= { huaweiUtility 12 } 1150 | hwHSL OBJECT IDENTIFIER ::= { huaweiUtility 13 } 1151 | hwMTA OBJECT IDENTIFIER ::= { huaweiUtility 14 } 1152 | hwSPC OBJECT IDENTIFIER ::= { huaweiUtility 15 } 1153 | hwV5 OBJECT IDENTIFIER ::= { huaweiUtility 16 } 1154 | hwIma OBJECT IDENTIFIER ::= { huaweiUtility 17 } 1155 | hwUcl OBJECT IDENTIFIER ::= { huaweiUtility 18 } 1156 | hwAtmSvc OBJECT IDENTIFIER ::= { huaweiUtility 19 } 1157 | hwVPRing OBJECT IDENTIFIER ::= { huaweiUtility 20 } 1158 | 1159 | hwTest OBJECT IDENTIFIER ::= { huaweiUtility 21 } 1160 | hwTestCommon OBJECT IDENTIFIER ::= { hwTest 1 } 1161 | hwNTest OBJECT IDENTIFIER ::= { hwTest 2 } 1162 | hwBtest OBJECT IDENTIFIER ::= { hwTest 3 } 1163 | hwSwitchOver OBJECT IDENTIFIER ::= { huaweiUtility 22 } 1164 | hwVfb OBJECT IDENTIFIER ::= { huaweiUtility 23 } 1165 | hwClk OBJECT IDENTIFIER ::= { huaweiUtility 25 } 1166 | hwCdi OBJECT IDENTIFIER ::= { huaweiUtility 26 } 1167 | hwAti OBJECT IDENTIFIER ::= { huaweiUtility 27 } 1168 | hwDslamNtv OBJECT IDENTIFIER ::= { huaweiUtility 28 } 1169 | hwServerMon OBJECT IDENTIFIER ::= { huaweiUtility 29 } 1170 | hwSyntrap OBJECT IDENTIFIER ::= { huaweiUtility 30 } 1171 | hwAdsl OBJECT IDENTIFIER ::= { huaweiUtility 31 } 1172 | hwVdsl OBJECT IDENTIFIER ::= { huaweiUtility 32 } 1173 | hwHdsl OBJECT IDENTIFIER ::= { huaweiUtility 33 } 1174 | hwDeha OBJECT IDENTIFIER ::= { huaweiUtility 34 } 1175 | hwShdsl OBJECT IDENTIFIER ::= { huaweiUtility 35 } 1176 | hwVoip OBJECT IDENTIFIER ::= { huaweiUtility 36 } 1177 | hwVrp OBJECT IDENTIFIER ::= { huaweiUtility 37 } 1178 | hwMus OBJECT IDENTIFIER ::= { huaweiUtility 38 } 1179 | hwDns OBJECT IDENTIFIER ::= { huaweiUtility 39 } 1180 | hwNetTest OBJECT IDENTIFIER ::= { huaweiUtility 40 } 1181 | hwMs OBJECT IDENTIFIER ::= { huaweiUtility 41 } 1182 | hwPITP OBJECT IDENTIFIER ::= { huaweiUtility 42 } 1183 | hwDslamMacPool OBJECT IDENTIFIER ::= { huaweiUtility 43 } 1184 | hwDslamPPPoA OBJECT IDENTIFIER ::= { huaweiUtility 44 } 1185 | hwDslamPvcProtocol OBJECT IDENTIFIER ::= { huaweiUtility 45 } 1186 | hwDslamIpoa OBJECT IDENTIFIER ::= { huaweiUtility 46 } 1187 | hwIpDslamSecurity OBJECT IDENTIFIER ::= { huaweiUtility 47 } 1188 | 1189 | 1190 | hwTimeLocalization OBJECT IDENTIFIER ::= { huaweiUtility 66} 1191 | hwBulkStatistics OBJECT IDENTIFIER ::= { huaweiUtility 103 } 1192 | hwCfgInfoCollect OBJECT IDENTIFIER ::= { huaweiUtility 121 } 1193 | hwEntityVendorType OBJECT IDENTIFIER ::= { huaweiUtility 162 } 1194 | hwFTTODeviceMIB OBJECT IDENTIFIER ::= { huaweiUtility 186 } 1195 | h3c OBJECT IDENTIFIER ::= { huawei 10 } -- July 09,2003,lcl added 1196 | huaweiMpls OBJECT IDENTIFIER ::= { huawei 13 } 1197 | hwDatacomm2 OBJECT IDENTIFIER ::= { huawei 25 } 1198 | -- hwLoopDetectMIB OBJECT IDENTIFIER ::= { hwDatacomm 180 } 1199 | -- hwBpduMIB OBJECT IDENTIFIER ::= { hwDatacomm 243 } 1200 | 1201 | END 1202 | 1203 | 1204 | -------------------------------------------------------------------------------- /part24-Convert mib file to zabbix template/zabbix.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part24-Convert mib file to zabbix template/zabbix.pdf -------------------------------------------------------------------------------- /part25-Send SMS and Telegram Alert in zabbix/telegrambot.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part25-Send SMS and Telegram Alert in zabbix/telegrambot.JPG -------------------------------------------------------------------------------- /part25-Send SMS and Telegram Alert in zabbix/telegrambot1.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part25-Send SMS and Telegram Alert in zabbix/telegrambot1.JPG -------------------------------------------------------------------------------- /part25-Send SMS and Telegram Alert in zabbix/telegrambot2.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part25-Send SMS and Telegram Alert in zabbix/telegrambot2.JPG -------------------------------------------------------------------------------- /part25-Send SMS and Telegram Alert in zabbix/zabbix.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part25-Send SMS and Telegram Alert in zabbix/zabbix.pdf -------------------------------------------------------------------------------- /part26-connect zabbix to promethous node_exporter/install promethus.txt: -------------------------------------------------------------------------------- 1 | useradd -m -s /bin/bash prometheus 2 | su – prometheus 3 | wget -c https://github.com/prometheus/prometheus/releases/download/v2.43.0/prometheus-2.43.0.linux-amd64.tar.gz 4 | tar -xzvf prometheus-2.43.0.linux-amd64.tar.gz 5 | mv prometheus-2.43.0.linux-amd64 prometheus 6 | sudo mkdir /etc/prometheus 7 | sudo mkdir /var/lib/prometheus 8 | sudo chown prometheus:prometheus /etc/prometheus 9 | sudo chown prometheus:prometheus /var/lib/prometheus 10 | sudo cp prometheus /usr/local/bin/ 11 | sudo cp promtool /usr/local/bin 12 | sudo chown prometheus:prometheus /usr/local/bin/prometheus 13 | sudo chown prometheus:prometheus /usr/local/bin/promtool 14 | sudo cp -r consoles /etc/prometheus 15 | sudo cp -r console_libraries /etc/prometheus 16 | sudo chown -R prometheus:prometheus /etc/prometheus/consoles 17 | sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries 18 | sudo cp prometheus.yml /etc/prometheus/prometheus.yml 19 | 20 | sudo -u prometheus /usr/local/bin/prometheus \ 21 | --config.file /etc/prometheus/prometheus.yml \ 22 | --storage.tsdb.path /var/lib/prometheus \ 23 | --web.console.templates=/etc/prometheus/consoles \ 24 | --web.console.libraries=/etc/prometheus/console_libraries \ 25 | 26 | 27 | 28 | vi /etc/systemd/system/prometheus.service 29 | ---------------------------------------------- 30 | [Unit] 31 | Description=Prometheus 32 | Wants=network-online.target 33 | After=network-online.target 34 | 35 | 36 | -------------------------------------------- 37 | 38 | 39 | 40 | 41 | [Service] 42 | User=prometheus 43 | Group=prometheus 44 | Type=simple 45 | ExecStart=/usr/local/bin/prometheus \ 46 | --config.file /etc/prometheus/prometheus.yml \ 47 | --storage.tsdb.path /var/lib/prometheus/ \ 48 | --web.console.templates=/etc/prometheus/consoles \ 49 | --web.console.libraries=/etc/prometheus/console_libraries \ 50 | 51 | [Install] 52 | WantedBy=multi-user.target 53 | 54 | ---------------------------------------------- 55 | systemctl daemon-reload 56 | systemctl start prometheus 57 | systemctl enable prometheus 58 | firewall-cmd --zone=public --add-port=9090/tcp 59 | firewall-cmd --zone=public --add-port=9090/tcp --permanent 60 | 61 | 62 | ---------------------------------------------------------------------------------------- 63 | Install node_exporter 64 | wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz 65 | tar -xvf node_exporter-1.3.1.linux-amd64.tar.gz 66 | cd node_exporter-1.3.1.linux-amd64 67 | ls 68 | ./node_exporter 69 | curl localhost:9100/metrics 70 | sudo cp node_exporter /usr/local/bin 71 | sudo useradd --no-create-home --shell /bin/false node_exporter 72 | sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter 73 | sudo vi /etc/systemd/system/node_exporter.service 74 | -------------------- 75 | [Unit] 76 | Description=Node Exporter 77 | Wants=network-online.target 78 | After=network-online.target 79 | [Service] 80 | User=node_exporter 81 | Group=node_exporter 82 | Type=simple 83 | ExecStart=/usr/local/bin/node_exporter 84 | [Install] 85 | WantedBy=multi.user.target 86 | -------------------- 87 | 88 | sudo systemctl daemon-reload 89 | sudo systemctl start node_exporter 90 | sudo systemctl status node_exporter 91 | 92 | 93 | 94 | --------------------------------------------- 95 | monitor docker engine: 96 | vi /etc/docker/daemon.json 97 | 98 | { 99 | " 100 | metrics addr 127.0.0.1:9323 101 | " 102 | experimental true 103 | } 104 | 105 | sudo systemctl restart docker 106 | 107 | curl localhost:9323/metrics 108 | -------------------------------------------------- 109 | monitor docker container 110 | vi docker compose.yml 111 | 112 | 113 | version : '3.4' 114 | services: 115 | cadvisor 116 | image: gcr.io/cadvisor/cadvisor 117 | container_name: cadvisor 118 | privileged : true 119 | devices: 120 | - "/dev/kmsg:/dev/kmsg" 121 | volumes: 122 | - /:/rootfs:ro 123 | - /var/run:/var/run:ro 124 | - /sys:/sys:ro 125 | - /var/lib/docker/:r/:/var/lib/docker:ro 126 | - /dev/disk/sk/::/devdisk:ro 127 | ports: 128 | - 8080:8080 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | -------------------------------------------------------------------------------- /part26-connect zabbix to promethous node_exporter/zabbix.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part26-connect zabbix to promethous node_exporter/zabbix.pdf -------------------------------------------------------------------------------- /part27-install and manage grafana with bash and terraform/grafana.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #################################### 4 | 5 | 6 | sudo apt update 1> /dev/null 7 | if [ $? -eq 0 ];then 8 | echo "################### repository updated ###################################" 9 | else 10 | echo "################### Failed to update repository ##########################" 11 | exit 1 12 | fi 13 | #################################### 14 | 15 | wget -q -O - https://packages.grafana.com/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/grafana.gpg > /dev/null 16 | 17 | if [ $? -eq 0 ];then 18 | echo "################### gpg add ############################## " 19 | else 20 | echo "################### Failed to add gpg ##################### " 21 | exit1 22 | fi 23 | 24 | 25 | #################################### 26 | 27 | echo "deb [signed-by=/usr/share/keyrings/grafana.gpg] https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list 28 | 29 | if [ $? -eq 0 ];then 30 | echo "################## add grafana repository ################ " 31 | else 32 | echo "################## Faiied to add grafana repository ######################### " 33 | exit 1 34 | fi 35 | 36 | #################################### 37 | 38 | sudo apt-get install grafana 39 | 40 | if [ $? -eq 0 ];then 41 | echo "################## install grafana ######################### " 42 | else 43 | echo "################## failed to install grafana ######################### " 44 | exit 1 45 | fi 46 | #################################### 47 | sudo systemctl start grafana-server 48 | sudo systemctl enable grafana-server 49 | 50 | if [ $? -eq 0 ];then 51 | echo "################# grafana-server enabled ########################### " 52 | else 53 | echo "################# Failed to enable grafana-server ################# " 54 | exit 1 55 | fi 56 | 57 | ##################################### 58 | 59 | sudo ufw allow 3000 60 | 61 | if [ $? -eq 0 ];then 62 | echo "############### firewall open port 3000 ###############################" 63 | else 64 | echo "############### failed to open port 3000 on firewall ################# " 65 | exit1 66 | fi 67 | 68 | 69 | ################################### 70 | echo "open port 3000" 71 | echo "enjoy it ! " 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /part27-install and manage grafana with bash and terraform/main.tf: -------------------------------------------------------------------------------- 1 | # Resources 2 | # Sample senario: new user -> new team -> new folder -> new dashboard -> set folder permissions 3 | 4 | 5 | # Create new user. 6 | # This one does not currently work with API Tokens. You must use basic auth. 7 | resource "grafana_user" "new_user" { 8 | email = "devops@example.com" 9 | password = "test" 10 | } 11 | 12 | 13 | # Create new team. 14 | resource "grafana_team" "new_team" { 15 | name = "devops Team" 16 | members = [ 17 | grafana_user.new_user.email 18 | ] 19 | } 20 | 21 | 22 | # Create new folder. 23 | resource "grafana_folder" "new_folder_with_uid" { 24 | uid = "test-folder-uid" 25 | title = "zabbix" 26 | } 27 | 28 | 29 | # Create new dashboard in a specific folder. 30 | resource "grafana_dashboard" "new_dashboard" { 31 | folder = grafana_folder.new_folder_with_uid.id 32 | config_json = <' 39 | - 40 | name: glpi_url 41 | value: '' 42 | - 43 | name: trigger_id 44 | value: '{TRIGGER.ID}' 45 | - 46 | name: zabbix_url 47 | value: '{$ZABBIX.URL}' 48 | attempts: '1' 49 | script: | 50 | var GLPi = { 51 | params: {}, 52 | 53 | setParams: function (params) { 54 | if (typeof params !== 'object') { 55 | return; 56 | } 57 | GLPi.params = params; 58 | }, 59 | 60 | setProxy: function (HTTPProxy) { 61 | GLPi.HTTPProxy = HTTPProxy; 62 | }, 63 | 64 | urlCheckFormat: function (url) { 65 | if (typeof url === 'string' && !url.endsWith('/')) { 66 | url += '/'; 67 | } 68 | 69 | if (url.indexOf('http://') === -1 && url.indexOf('https://') === -1) { 70 | url = 'https://' + url; 71 | } 72 | 73 | return url; 74 | }, 75 | 76 | getAuthToken: function (url, token) { 77 | var response, 78 | request = new HttpRequest(); 79 | 80 | request.addHeader('Content-Type: application/json'); 81 | request.addHeader('Authorization: user_token ' + token); 82 | 83 | response = request.get(url + "apirest.php/initSession"); 84 | 85 | if (response !== null) { 86 | try { 87 | response = JSON.parse(response); 88 | } 89 | catch (error) { 90 | Zabbix.log(4, '[ GLPi Webhook ] Failed to receive authentication token from GLPi.'); 91 | response = null; 92 | } 93 | } 94 | 95 | if (Array.isArray(response)) { 96 | if (response[1]) { 97 | throw 'Error received from GLPi: ' + response[1]; 98 | } else { 99 | throw 'Failed to receive authentication token from GLPi.'; 100 | } 101 | } 102 | 103 | if (typeof response !== 'object' || !response.session_token) { 104 | throw 'Failed to process response received from getting GLPi authentication token. Check debug log for more information.'; 105 | } 106 | 107 | return response.session_token; 108 | }, 109 | 110 | getProblemUrl: function (zabbix_url, triggerid, eventid, event_source) { 111 | var problem_url = zabbix_url; 112 | 113 | if (event_source === '0') { 114 | problem_url += 'tr_events.php?triggerid=' + triggerid + '&eventid=' + eventid; 115 | } 116 | 117 | return problem_url; 118 | }, 119 | 120 | request: function (method, url, data) { 121 | if (typeof GLPi.params !== 'object' || typeof GLPi.params.authToken === 'undefined' || GLPi.params.authToken === '') { 122 | throw 'Required GLPi param authToken is not set.'; 123 | } 124 | 125 | var response, 126 | request = new HttpRequest(); 127 | 128 | request.addHeader('Content-Type: application/json'); 129 | request.addHeader('Session-Token:' + GLPi.params.authToken); 130 | 131 | if (typeof GLPi.HTTPProxy !== 'undefined' && GLPi.HTTPProxy !== '') { 132 | request.setProxy(GLPi.HTTPProxy); 133 | } 134 | 135 | if (typeof data !== 'undefined') { 136 | data = JSON.stringify(data); 137 | } 138 | 139 | Zabbix.log(4, '[ GLPi Webhook ] Sending request: ' + url + ((typeof data === 'string') 140 | ? ('\n' + data) 141 | : '')); 142 | 143 | switch (method) { 144 | case 'post': 145 | response = request.post(url, data); 146 | break; 147 | 148 | case 'put': 149 | response = request.put(url, data); 150 | break; 151 | 152 | default: 153 | throw 'Unsupported HTTP request method: ' + method; 154 | } 155 | 156 | Zabbix.log(4, '[ GLPi Webhook ] Received response with status code ' + 157 | request.getStatus() + '\n' + response); 158 | 159 | if (response !== null) { 160 | try { 161 | response = JSON.parse(response); 162 | } 163 | catch (error) { 164 | Zabbix.log(4, '[ GLPi Webhook ] Failed to parse response received from GLPi'); 165 | response = null; 166 | } 167 | } 168 | 169 | if (typeof response !== 'object' || typeof response === 'undefined' || response === null) { 170 | throw 'Failed to process response received from GLPi. Check debug log for more information.'; 171 | } 172 | 173 | if (request.getStatus() < 200 || request.getStatus() >= 300) { 174 | var message = 'Request failed with status code ' + request.getStatus(); 175 | 176 | if (response.message) { 177 | message += ': ' + response.message; 178 | } 179 | 180 | throw message + ' Check debug log for more information.'; 181 | } 182 | 183 | return response; 184 | } 185 | }; 186 | 187 | try { 188 | var params = JSON.parse(value), 189 | glpi = {}, 190 | url = '', 191 | data = {}, 192 | comment_data, 193 | result = { tags: {} }, 194 | required_params = [ 195 | 'alert_subject', 'alert_message', 'event_source', 'event_value', 196 | 'event_update_status', 'event_recovery_value', 197 | 'event_id', 'trigger_id', 'zabbix_url', 198 | 'glpi_token', 'glpi_url' 199 | ], 200 | method = 'post', 201 | process_tags = true, 202 | response; 203 | 204 | Object.keys(params) 205 | .forEach(function (key) { 206 | if (key.startsWith('glpi_')) { 207 | glpi[key.substring(5)] = params[key]; 208 | } 209 | else if (required_params.indexOf(key) !== -1 && params[key] === '') { 210 | throw 'Parameter "' + key + '" can\'t be empty.'; 211 | } 212 | }); 213 | 214 | if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) { 215 | throw 'Incorrect "event_source" parameter given: ' + params.event_source + '\nMust be 0-3.'; 216 | } 217 | 218 | // Check {EVENT.VALUE} for trigger-based and internal events. 219 | if (params.event_value !== '0' && params.event_value !== '1' 220 | && (params.event_source === '0' || params.event_source === '3')) { 221 | throw 'Incorrect "event_value" parameter given: ' + params.event_value + '\nMust be 0 or 1.'; 222 | } 223 | 224 | // Check {EVENT.UPDATE.STATUS} only for trigger-based events. 225 | if (params.event_update_status !== '0' && params.event_update_status !== '1' && params.event_source === '0') { 226 | throw 'Incorrect "event_update_status" parameter given: ' + params.event_update_status + '\nMust be 0 or 1.'; 227 | } 228 | 229 | if (params.event_source !== '0' && params.event_recovery_value === '0') { 230 | throw 'Recovery operations are supported only for trigger-based actions.'; 231 | } 232 | 233 | if (typeof params.zabbix_url !== 'string' || params.zabbix_url.trim() === '' || params.zabbix_url === '{$ZABBIX.URL}') { 234 | throw 'Field "zabbix_url" cannot be empty.'; 235 | } 236 | 237 | // Check for backslash in the end of url and schema. 238 | glpi.url = GLPi.urlCheckFormat(glpi.url); 239 | params.zabbix_url = GLPi.urlCheckFormat(params.zabbix_url); 240 | 241 | glpi.authToken = GLPi.getAuthToken(glpi.url, glpi.token); 242 | GLPi.setParams(glpi); 243 | 244 | data = { 245 | 'input': { 246 | 'name': params.alert_subject, 247 | 'content': params.alert_message + '\nLink to problem in Zabbix', 248 | 'status': 1, // Set status "New" 249 | 'urgency': params.event_nseverity 250 | } 251 | }; 252 | 253 | // In case of resolve 254 | if (params.event_source === '0' && params.event_value === '0') { 255 | process_tags = false; 256 | dataFollowup = { 257 | 'input': { 258 | 'items_id': glpi.problem_id, 259 | 'itemtype': 'Problem', 260 | 'content': params.alert_message + '\nLink to problem in Zabbix' 261 | } 262 | }; 263 | dataProblem = { 264 | 'id': glpi.problem_id, 265 | 'input': { 266 | 'name': params.alert_subject, 267 | 'status': 5, // Set status "Solved" 268 | 'urgency': params.event_nseverity 269 | } 270 | }; 271 | 272 | GLPi.request('put', glpi.url + 'apirest.php/Problem/' + glpi.problem_id, dataProblem); 273 | GLPi.request('post', glpi.url + 'apirest.php/Problem/' + glpi.problem_id + '/ITILFollowup', dataFollowup); 274 | } 275 | 276 | // In case of update 277 | else if (params.event_source === '0' && params.event_update_status === '1') { 278 | process_tags = false; 279 | dataFollowup = { 280 | 'input': { 281 | 'items_id': glpi.problem_id, 282 | 'itemtype': 'Problem', 283 | 'content': params.alert_message + '\nLink to problem in Zabbix' 284 | } 285 | }; 286 | dataProblem = { 287 | 'id': glpi.problem_id, 288 | 'input': { 289 | 'name': params.alert_subject, 290 | 'urgency': params.event_nseverity 291 | } 292 | }; 293 | 294 | GLPi.request('put', glpi.url + 'apirest.php/Problem/' + glpi.problem_id, dataProblem); 295 | GLPi.request('post', glpi.url + 'apirest.php/Problem/' + glpi.problem_id + '/ITILFollowup', dataFollowup); 296 | } 297 | 298 | // In case of problem 299 | else { 300 | response = GLPi.request('post', glpi.url + 'apirest.php/Problem/', data); 301 | } 302 | 303 | if (process_tags) { 304 | result.tags.__zbx_glpi_problem_id = response.id; 305 | result.tags.__zbx_glpi_link = glpi.url + 'front/problem.form.php?id=' + response.id; 306 | } 307 | 308 | Zabbix.log(4, '[ GLPi Webhook ] Result: ' + JSON.stringify(result)); 309 | return JSON.stringify(result); 310 | } 311 | catch (error) { 312 | Zabbix.log(4, '[ GLPi Webhook ] ERROR: ' + error); 313 | throw 'Sending failed: ' + error; 314 | } 315 | process_tags: 'YES' 316 | show_event_menu: 'YES' 317 | event_menu_url: '{EVENT.TAGS.__zbx_glpi_link}' 318 | event_menu_name: 'GLPi: Problem {EVENT.TAGS.__zbx_glpi_problem_id}' 319 | message_templates: 320 | - 321 | event_source: TRIGGERS 322 | operation_mode: PROBLEM 323 | subject: '[{EVENT.STATUS}] {EVENT.NAME}' 324 | message: | 325 | Problem started at {EVENT.TIME} on {EVENT.DATE} 326 | Problem name: {EVENT.NAME} 327 | Host: {HOST.NAME} 328 | Severity: {EVENT.SEVERITY} 329 | Operational data: {EVENT.OPDATA} 330 | Original problem ID: {EVENT.ID} 331 | {TRIGGER.URL} 332 | - 333 | event_source: TRIGGERS 334 | operation_mode: RECOVERY 335 | subject: '[{EVENT.STATUS}] {EVENT.NAME}' 336 | message: | 337 | Problem has been resolved in {EVENT.DURATION} at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE} 338 | Problem name: {EVENT.NAME} 339 | Host: {HOST.NAME} 340 | Severity: {EVENT.SEVERITY} 341 | Original problem ID: {EVENT.ID} 342 | {TRIGGER.URL} 343 | - 344 | event_source: TRIGGERS 345 | operation_mode: UPDATE 346 | subject: '[{EVENT.STATUS}] {EVENT.NAME}' 347 | message: | 348 | {USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}. 349 | {EVENT.UPDATE.MESSAGE} 350 | 351 | Current problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}. 352 | - 353 | event_source: DISCOVERY 354 | operation_mode: PROBLEM 355 | subject: 'Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}' 356 | message: | 357 | Discovery rule: {DISCOVERY.RULE.NAME} 358 | 359 | Device IP: {DISCOVERY.DEVICE.IPADDRESS} 360 | Device DNS: {DISCOVERY.DEVICE.DNS} 361 | Device status: {DISCOVERY.DEVICE.STATUS} 362 | Device uptime: {DISCOVERY.DEVICE.UPTIME} 363 | 364 | Device service name: {DISCOVERY.SERVICE.NAME} 365 | Device service port: {DISCOVERY.SERVICE.PORT} 366 | Device service status: {DISCOVERY.SERVICE.STATUS} 367 | Device service uptime: {DISCOVERY.SERVICE.UPTIME} 368 | - 369 | event_source: AUTOREGISTRATION 370 | operation_mode: PROBLEM 371 | subject: 'Autoregistration: {HOST.HOST}' 372 | message: | 373 | Host name: {HOST.HOST} 374 | Host IP: {HOST.IP} 375 | Agent port: {HOST.PORT} 376 | -------------------------------------------------------------------------------- /part4-What is Ansible/Part4-What is Ansible.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part4-What is Ansible/Part4-What is Ansible.pdf -------------------------------------------------------------------------------- /part6-install ansible/Install Ansible.txt: -------------------------------------------------------------------------------- 1 | sudo yum install epel-release 2 | sudo yum install python3 3 | sudo yum install ansible 4 | sudo vi /etc/ansible/hosts 5 | ansible all --list-hosts 6 | ssh root@your_server_ip 7 | ansible -m ping all (failed) 8 | (control node):ssh-keygen 9 | copy pub key to remote server(zabbix server): 10 | (control node):ssh-copy-id root@192.168.1.235 11 | ansible -m ping all (ping-pong) -------------------------------------------------------------------------------- /part6-install ansible/Part6-Install ansible.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part6-install ansible/Part6-Install ansible.pptx -------------------------------------------------------------------------------- /part6-install ansible/network diagram.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part6-install ansible/network diagram.PNG -------------------------------------------------------------------------------- /part6-install ansible/shekandns.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #author:amir.ajoodani@gmail.com 3 | result="$?" 4 | sed -i '2i nameserver 185.51.200.2' /etc/resolv.conf 5 | if result=0;then 6 | echo '185.51.200.2 Is Set ' 7 | else 8 | echo '185.51.200.2 Is Not Set' 9 | fi 10 | sed -i '3i nameserver 178.22.122.100' /etc/resolv.conf 11 | if result=0;then 12 | echo '178.22.122.100 Is Set ' 13 | else 14 | echo '178.22.122.100 Is Not Set' 15 | fi 16 | -------------------------------------------------------------------------------- /part7-Install Zabbix With Ansible/Part7-Install Zabbix with ansible.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopshobbies/zabbix-grafana-tutorial/07a700e6048acda08a42af702917bee432de2622/part7-Install Zabbix With Ansible/Part7-Install Zabbix with ansible.pdf -------------------------------------------------------------------------------- /part7-Install Zabbix With Ansible/zabbix/zabbix-ansible-centos/inventory/inventory.ini: -------------------------------------------------------------------------------- 1 | [servers] 2 | zabbix-server ansible_ssh_host=192.168.1.199 ansible_ssh_user=root 3 | [agents] 4 | zabbix-agent ansible_ssh_host=192.168.1.199 ansible_ssh_user=root 5 | [all:vars] 6 | timezone="Asia/Tehran" 7 | zabbix_server_ip="192.168.1.199" 8 | [servers:vars] 9 | zabbix_mysql_password="password" 10 | -------------------------------------------------------------------------------- /part7-Install Zabbix With Ansible/zabbix/zabbix-ansible-centos/roles/agent/handlers/main.yml: -------------------------------------------------------------------------------- 1 | - name: restart zabbix-agent 2 | service: name=zabbix-agent state=restarted enabled=yes 3 | 4 | - name: reload firewalld 5 | service: name=firewalld state=restarted 6 | -------------------------------------------------------------------------------- /part7-Install Zabbix With Ansible/zabbix/zabbix-ansible-centos/roles/agent/tasks/check.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: check OS distribution 4 | ansible.builtin.fail: 5 | msg: "Sorry This playbook can only run on Centos7 or Centos8." 6 | when: ( ansible_distribution != 'CentOS' ) or (( ansible_distribution_major_version != '8' ) and ( ansible_distribution_major_version != '7' )) 7 | 8 | 9 | -------------------------------------------------------------------------------- /part7-Install Zabbix With Ansible/zabbix/zabbix-ansible-centos/roles/agent/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - include: tasks/check.yml 2 | 3 | - name: check if firewalld is running 4 | ansible.builtin.command: systemctl status firewalld 5 | register: firewalld_result 6 | 7 | 8 | - name: set firewalld port for zabbix-agent.service 9 | firewalld: 10 | port: 10050/tcp 11 | permanent: true 12 | immediate: yes 13 | state: enabled 14 | 15 | 16 | - name: yum install zabbix-agent 17 | yum: 18 | name: 19 | - zabbix-agent 20 | 21 | - name: modify file /etc/zabbix/zabbix_agentd.conf 22 | lineinfile: 23 | dest='/etc/zabbix/zabbix_agentd.conf' 24 | state=present 25 | backrefs=no 26 | regexp='^Hostname' 27 | line='#Hostname=' 28 | notify: 29 | - restart zabbix-agent 30 | 31 | - name: modify file /etc/zabbix/zabbix_agentd.conf 32 | lineinfile: 33 | dest='/etc/zabbix/zabbix_agentd.conf' 34 | state=present 35 | backrefs=no 36 | regexp='^HostnameItem' 37 | line='HostnameItem=system.hostname' 38 | notify: 39 | - restart zabbix-agent 40 | 41 | - name: modify file /etc/zabbix/zabbix_agentd.conf 42 | lineinfile: 43 | dest='/etc/zabbix/zabbix_agentd.conf' 44 | state=present 45 | backrefs=no 46 | regexp='^Server=' 47 | line='Server={{ vars.zabbix_server_ip }}' 48 | notify: 49 | - restart zabbix-agent 50 | 51 | - name: modify file /etc/zabbix/zabbix_agentd.conf 52 | lineinfile: 53 | dest='/etc/zabbix/zabbix_agentd.conf' 54 | state=present 55 | backrefs=no 56 | regexp='^ServerActive=' 57 | line='ServerActive={{ vars.zabbix_server_ip }}' 58 | notify: 59 | - restart zabbix-agent 60 | 61 | - name: enabled and start zabbix-agent 62 | service: 63 | name: zabbix-agent 64 | state: started 65 | enabled: yes 66 | 67 | -------------------------------------------------------------------------------- /part7-Install Zabbix With Ansible/zabbix/zabbix-ansible-centos/roles/common/tasks/check.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: check OS distribution 4 | ansible.builtin.fail: 5 | msg: "Sorry This playbook can only run on Centos7 or Centos8." 6 | when: ( ansible_distribution != 'CentOS' ) or (( ansible_distribution_major_version != '8' ) and ( ansible_distribution_major_version != '7' )) 7 | 8 | 9 | - name: include CentOS7 yml 10 | include_vars: 11 | file: centos7.yml 12 | when: ansible_distribution_major_version == '7' 13 | 14 | 15 | - name: include CentOS8 yml 16 | include_vars: 17 | file: centos8.yml 18 | when: ansible_distribution_major_version == '8' 19 | 20 | -------------------------------------------------------------------------------- /part7-Install Zabbix With Ansible/zabbix/zabbix-ansible-centos/roles/common/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - include: tasks/check.yml 2 | 3 | - name: disable selinux 4 | selinux: 5 | state: disabled 6 | 7 | - name: set hostname 8 | hostname: 9 | name: "{{ inventory_hostname }}" 10 | 11 | - name: set timezone 12 | timezone: 13 | name: "{{ vars.timezone }}" 14 | 15 | - name: Install Zabbix Repo 16 | yum: 17 | name: "{{repo_url}}" 18 | state: present 19 | disable_gpg_check: True 20 | 21 | -------------------------------------------------------------------------------- /part7-Install Zabbix With Ansible/zabbix/zabbix-ansible-centos/roles/common/vars/centos7.yml: -------------------------------------------------------------------------------- 1 | repo_url: https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 2 | -------------------------------------------------------------------------------- /part7-Install Zabbix With Ansible/zabbix/zabbix-ansible-centos/roles/common/vars/centos8.yml: -------------------------------------------------------------------------------- 1 | repo_url: https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm 2 | -------------------------------------------------------------------------------- /part7-Install Zabbix With Ansible/zabbix/zabbix-ansible-centos/roles/server/handlers/main.yml: -------------------------------------------------------------------------------- 1 | - name: restart httpd 2 | service: name=httpd state=restarted enabled=yes 3 | 4 | - name: restart php-fpm 5 | service: name=php-fpm state=restarted enabled=yes 6 | 7 | - name: restart mariadb 8 | service: name=mariadb state=restarted enabled=yes 9 | 10 | - name: restart mysqld 11 | service: name=mysqld state=restarted enabled=yes 12 | 13 | - name: restart zabbix-server 14 | service: name=zabbix-server state=restarted enabled=yes 15 | -------------------------------------------------------------------------------- /part7-Install Zabbix With Ansible/zabbix/zabbix-ansible-centos/roles/server/tasks/check.yml: -------------------------------------------------------------------------------- 1 | - name: check OS distribution 2 | fail: msg="Sorry. The playbook can only run on Centos7 or Centos8." 3 | when: 4 | - ( ansible_distribution != 'CentOS' ) or 5 | (( ansible_distribution_major_version != '8' ) and 6 | ( ansible_distribution_major_version != '7' )) 7 | - name: include CentOS7 yml 8 | include_vars: 9 | file: centos7.yml 10 | when: ansible_distribution_major_version == '7' 11 | - name: include CentOS8 yml 12 | include_vars: 13 | file: centos8.yml 14 | when: ansible_distribution_major_version == '8' 15 | 16 | -------------------------------------------------------------------------------- /part7-Install Zabbix With Ansible/zabbix/zabbix-ansible-centos/roles/server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - include: tasks/check.yml 2 | 3 | - name: set firewall http.service 4 | firewalld: 5 | service: http 6 | permanent: true 7 | immediate: yes 8 | state: enabled 9 | 10 | - name: set firewall snmptrap.service 11 | firewalld: 12 | service: snmptrap 13 | permanent: true 14 | immediate: yes 15 | state: enabled 16 | 17 | - name: set firewall zabbix-server.service 18 | firewalld: 19 | port: 10051/tcp 20 | permanent: true 21 | immediate: yes 22 | state: enabled 23 | 24 | - name: yum install zabbix 25 | yum: 26 | name: "{{ yum_list }}" 27 | 28 | - name: modify file {{ mysql_server_file }} 29 | lineinfile: 30 | path: "{{ mysql_server_file }}" 31 | regexp: ^innodb_file_per_table 32 | insertafter: '^\[mysqld\]' 33 | line: innodb_file_per_table = 1 34 | notify: restart mysqld 35 | 36 | - name: enabled and start {{ mysql_name }} 37 | service: 38 | name: "{{ mysql_name }}" 39 | state: started 40 | enabled: yes 41 | 42 | - name: create database zabbix 43 | mysql_db: 44 | name: zabbix 45 | encoding: utf8 46 | collation: utf8_bin 47 | state: present 48 | 49 | - name: create dbuser zabbix 50 | mysql_user: 51 | name: zabbix 52 | password: "{{ vars.zabbix_mysql_password }}" 53 | priv: 'zabbix.*:ALL,GRANT' 54 | state: present 55 | no_log: true 56 | 57 | 58 | - name: insert zabbix DB 59 | shell: zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql zabbix -u root 60 | 61 | 62 | 63 | - name: modify httpd config centos7-only 64 | lineinfile: 65 | dest='/etc/httpd/conf.d/zabbix.conf' 66 | state=present 67 | backrefs=no 68 | regexp='php_value date.timezone' 69 | line=' php_value date.timezone Asia/Kolkata' 70 | notify: 71 | - restart httpd 72 | when: ansible_distribution_major_version == '7' 73 | 74 | - name: enabled and start httpd 75 | service: 76 | name: httpd 77 | state: started 78 | enabled: yes 79 | 80 | - name: modify file /etc/zabbix/zabbix_server.conf 81 | lineinfile: 82 | dest='/etc/zabbix/zabbix_server.conf' 83 | state=present 84 | backrefs=no 85 | regexp='DBPassword=$' 86 | line="DBPassword={{ vars.zabbix_mysql_password }}" 87 | no_log: true 88 | notify: 89 | - restart zabbix-server 90 | 91 | - name: modify file /etc/zabbix/web/zabbix.conf.php 92 | template: > 93 | src=zabbix.conf.php.j2 94 | dest=/etc/zabbix/web/zabbix.conf.php 95 | owner=apache 96 | group=apache 97 | mode=0644 98 | 99 | - name: enabled and start zabbix-server 100 | service: 101 | name: zabbix-server 102 | state: started 103 | enabled: yes 104 | 105 | -------------------------------------------------------------------------------- /part7-Install Zabbix With Ansible/zabbix/zabbix-ansible-centos/roles/server/templates/zabbix.conf.php.j2: -------------------------------------------------------------------------------- 1 |