CentOS 7.x automated configuration of cacti using ansible playbook
Home > CentOS > CentOS 7.x > DevOps > Automated Configuration > Ansible > Ansible Playbooks > CentOS 7.x automated configuration of cacti using ansible playbook
Home > CentOS > CentOS 7.x > Monitoring > Cacti > CentOS 7.x automated configuration of cacti using ansible playbook
To do automated setup of cacti using ansible in CentOS 7.x use following playbook:
--- - name: Playbook for installing cacti hosts: cacti-hosts remote_user: root tasks: - name: Setup epel-release repository yum: name=epel-release state=present - name: Install required packages yum: name={{item}} state=present with_items: - httpd - mariadb-server - php-mysql - php-pear - php-common - php-gd - php - php-mbstring - php-cli - php-snmp - net-snmp-utils - net-snmp-libs - rrdtool - cacti - mysql-connector-python #For ansible - MySQL-python #For ansible - name: Start and enable httpd, mariadb and snmpd service: name={{item}} state=started enabled=yes with_items: - httpd - mariadb - snmpd - crond - name: Create database for cacti mysql_db: name=cacti state=present - name: Get cacti sql file path shell: rpm -ql cacti | grep cacti.sql register: cacti_sql_path - name: Restore cacti database shell: mysql cacti < {{cacti_sql_path.stdout}}; touch /root/cacti_database_imported args: creates: /root/cacti_database_imported - name: Set blank password for cacti in db.php shell: sed -i 's/cactiuser//' /etc/cacti/db.php - name: Set correct username for cacti in db.php lineinfile: dest: /etc/cacti/db.php regexp: "database_username" line: '$database_username = "root";' - name: Allow access to cacti from everywhere lineinfile: dest: /etc/httpd/conf.d/cacti.conf insertafter: "Require host localhost" line: "Require all granted" notify: - restart httpd - name: Enable cacti cron polling copy: src=cacti dest=/etc/cron.d/cacti mode=644 owner=root group=root - name: Print completion message debug: msg="Open http://<server>/cacti and complete installation. Login using admin:admin" handlers: - name: restart httpd service: name=httpd state=restarted
The playbook requires cron file named 'cacti' with following content:
*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
The playbook assumes hosts file similar to:
[cacti-hosts] 192.168.122.67
Home > CentOS > CentOS 7.x > DevOps > Automated Configuration > Ansible > Ansible Playbooks > CentOS 7.x automated configuration of cacti using ansible playbook
Home > CentOS > CentOS 7.x > Monitoring > Cacti > CentOS 7.x automated configuration of cacti using ansible playbook