{"id":967,"date":"2018-06-12T11:55:23","date_gmt":"2018-06-12T08:55:23","guid":{"rendered":"https:\/\/helia.ee\/koolitus\/?page_id=967"},"modified":"2018-06-12T11:55:23","modified_gmt":"2018-06-12T08:55:23","slug":"debian-9-monitooring-cactiga","status":"publish","type":"page","link":"https:\/\/helia.ee\/koolitus\/?page_id=967","title":{"rendered":"Debian 9 &#8211; Monitooring Cacti`ga"},"content":{"rendered":"<h1>How to Install Cacti SNMP Monitoring Tool on Debian 9<\/h1>\n<div class=\"contributeEdit\">\n<div id=\"tocContainer\">\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<p>This tutorial will\u00a0show you how to install and configure Cacti network monitoring tool from source\u00a0to ensure that you get the latest version on Debian 9, codename Stretch.<\/p>\n<p>Cacti is a web-based network monitoring tool, completely open source, designed to display network and system graphics via RRDtool. It uses the SNMP (Simple Network Management Protocol) protocol to gather and monitor network traffic from network devices, such as switches, routers, Linux, Unix and Windows servers or other types of network-based devices that support SNMP.<\/p>\n<p><strong>Requirements<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/www.howtoforge.com\/tutorial\/debian-minimal-server\/\">Debian 9 minimal installation<\/a>\u00a0on a bare-metal machine or on a virtual private server.<\/li>\n<li>A static IP address configured for one of your system network interfaces cards.<\/li>\n<li>Access to root account or a user with root account privileges via sudo.<\/li>\n<\/ul>\n<h2 id=\"initial-configuration\">Initial Configuration<\/h2>\n<p>Before we start to install Cacti from source, first assure that your system meets all the software requirements for compiling and installing Cacti. In the first step, open the Debian sources list file for editing with root privileges and append the contrib and non-free repositories as shown in the below file excerpt.<\/p>\n<p class=\"command\">nano \/etc\/apt\/sources.list<\/p>\n<p>sources.list file sample:<\/p>\n<pre><em>deb http:\/\/ftp.ro.debian.org\/debian\/ stretch main <strong>contrib non-free\r\n<\/strong><\/em><em>deb-src http:\/\/ftp.ro.debian.org\/debian\/ stretch main\r\n<\/em><em>\u00a0\r\n<\/em><em>deb http:\/\/security.debian.org\/debian-security stretch\/updates main <strong>contrib non-free\r\n<\/strong><\/em><em>deb-src http:\/\/security.debian.org\/debian-security stretch\/updates main<\/em><\/pre>\n<p><a id=\"img-1\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/1.png\" alt=\"sources.list file\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<p>After finished editing the file, save and close the file and update your system repositories and software packages to incorporate the new packages, by issuing the below commands.<\/p>\n<p class=\"command\">apt update<\/p>\n<p class=\"command\">apt upgrade<\/p>\n<p><strong>\u00a0<\/strong><a id=\"img-2\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/2.png\" alt=\"Update Debian packages\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<div>\n<div id=\"div-gpt-ad-1527185271042-6\" data-google-query-id=\"CL77mKrKzdsCFeIx0wodJ8MPhw\">\n<div id=\"google_ads_iframe_\/1030080\/howtoforge_com_article_rectangle_a_300x250_0__container__\"><iframe loading=\"lazy\" id=\"google_ads_iframe_\/1030080\/howtoforge_com_article_rectangle_a_300x250_0\" title=\"3rd party ad content\" src=\"https:\/\/tpc.googlesyndication.com\/safeframe\/1-0-28\/html\/container.html\" name=\"\" width=\"300\" height=\"250\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" sandbox=\"allow-forms allow-pointer-lock allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-top-navigation-by-user-activation\" data-is-safeframe=\"true\" data-mce-fragment=\"1\"><\/iframe><\/div>\n<\/div>\n<\/div>\n<p>Next, fire up a new command in order to install some necessary utilities that will be used to further manage your system from command line.<\/p>\n<p class=\"command\">apt install wget patch unzip zip bash-completion<\/p>\n<p>Cacti is a web-based monitoring tool mostly written in PHP server-side programming language. In order to run the Cacti php file scripts, a web server, such as Apache HTTP server, and a PHP\u00a0interpreter must be installed and functional in the system.\u00a0 In order to install Apache web server and the PHP interpreter alongside with all required PHP modules needed by Cacti to run properly, issue the following command in your server console.<\/p>\n<p class=\"command\">apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-snmp php7.0-xml php7.0-mbstring php7.0-json php7.0-gd php7.0-gmp php7.0-zip php7.0-ldap php7.0-mcrypt<\/p>\n<p><strong>\u00a0<\/strong><a id=\"img-4\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/4.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/4.png\" alt=\"Install PHP\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<p>After Apache and PHP have been installed, test if the web server is up and running and listening for network connections on port 80 by issuing the following command with root privileges.<\/p>\n<p class=\"command\">netstat \u2013tlpn<\/p>\n<p>In case\u00a0<strong>netstat<\/strong>\u00a0network utility is not installed by default on your Debian system, execute the below command to install it.<\/p>\n<p class=\"command\">apt install net-tools<\/p>\n<p>By inspecting the\u00a0<strong>netstat<\/strong>\u00a0command output you can see that apache daemon is listening for incoming network connections on port 80.<\/p>\n<p><strong>\u00a0<\/strong><a id=\"img-5\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/5.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/5.png\" alt=\"Netstat command output\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<p>In case you have a firewall enabled on your system, such as UFW firewall application, you should add a new rule to allow HTTP traffic to pass through the firewall by issuing the following command.<\/p>\n<p class=\"command\">ufw allow WWW<\/p>\n<p>or<\/p>\n<p class=\"command\">ufw allow 80\/tcp<\/p>\n<p>Finally, test if the Apache web server default web page can be displayed in your client&#8217;s browser by visiting your Debian machine IP address via HTTP protocol, as shown in the below image. If you don\u2019t know your machine IP address, execute &#8216;<strong>ifconfig&#8217;<\/strong>\u00a0or &#8216;<strong>ip a&#8217;<\/strong>\u00a0commands. My IP in this setup is: http:\/\/192.168.1.14<\/p>\n<p><a id=\"img-8\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/8.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/8.PNG\" alt=\"Debian default web page\" width=\"550\" height=\"339\" \/><\/a><\/p>\n<p>In the next step, we need to make some further changes to PHP default configuration file in order to assure that the\u00a0<strong>file_uploads<\/strong>\u00a0variable is enabled and the PHP\u00a0<strong>timezone<\/strong>\u00a0setting is correctly configured and matches your system physical location.\u00a0 Open\u00a0<strong>\/etc\/php\/7.0\/apache2\/php.ini<\/strong>\u00a0file for editing and assure that the following lines are set up as follows.<\/p>\n<pre><strong><em>file_uploads = On\r\n<\/em><\/strong><strong><em>date.timezone = Europe\/London<\/em><\/strong><\/pre>\n<p>Replace the timezone variable accordingly to your physical time zone by consulting the list of timezones provided by PHP docs at the following link\u00a0<a href=\"http:\/\/php.net\/manual\/en\/timezones.php\">http:\/\/php.net\/manual\/en\/timezones.php<\/a><\/p>\n<p>After you\u2019ve made the required changes, create a php info file and restart apache daemon to apply changes by issuing the following commands.<\/p>\n<p class=\"command\">echo &#8216;&lt;?php phpinfo(); ?&gt;&#8217;| tee \/var\/www\/html\/info.php<\/p>\n<p class=\"command\">systemctl restart apache2<\/p>\n<p><strong>\u00a0<\/strong>Check if the PHP timezone has been correctly configured by visiting the php info script from a browser at the following URL (as illustrated in the below image). Scroll down to date setting to check php timezone setting.<\/p>\n<p><a href=\"http:\/\/192.168.1.14\/info.php\">http:\/\/192.168.1.14\/info.php<\/a><\/p>\n<p><a id=\"img-13\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/13.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/13.PNG\" alt=\"PHP info output\" width=\"550\" height=\"242\" \/><\/a><\/p>\n<p>Cacti monitoring tool stores configurations and collected data in an RDBMS database. \u00a0In this tutorial, we\u2019ll configure Cacti with MariaDB database backend. Issue the below command to install MariaDB database and the PHP module needed to access mysql database.<\/p>\n<p class=\"command\">apt install mariadb-server php7.0-mysql<\/p>\n<p>\u00a0<a id=\"img-14\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/14.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/14.png\" alt=\"Install MariaDB\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<p>After you\u2019ve installed MariaDB, verify that the daemon is running and listens for network connections on localhost, port 3306, by running\u00a0<strong>netstat<\/strong>command.<\/p>\n<p class=\"command\">netstat \u2013tlpn | grep mysql<\/p>\n<p>Then log into MySQL console and secure MariaDB\u00a0<em>root<\/em>\u00a0account by issuing the following commands.<\/p>\n<p class=\"command\">mysql -h localhost<\/p>\n<pre>use mysql;\r\nupdate user set plugin='' where user='root';\r\nflush privileges;\r\nexit<\/pre>\n<p><strong><em>\u00a0<\/em><\/strong><a id=\"img-15\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/15.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/15.png\" alt=\"Set MySQL root password\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<p>In the next step, secure MariaDB by executing the script\u00a0<strong>mysql_secure_installation<\/strong>\u00a0provided by the installation package from Debian Stretch repository. While running, the script will ask a series of questions to secure the MariaDB database, such as: to change MySQL root password, to remove anonymous users, to disable remote root logins and to delete the test database. Execute the script by issuing the below command and assure you type yes to all questions asked in order to fully secure MySQL daemon. Use the below script output except as a guide.<\/p>\n<p class=\"command\">sudo mysql_secure_installation<\/p>\n<p class=\"system\">NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB<\/p>\n<p class=\"system\">\u00a0\u00a0\u00a0\u00a0\u00a0 SERVERS IN PRODUCTION USE!\u00a0 PLEASE READ EACH STEP CAREFULLY!<\/p>\n<p class=\"system\">\n<p class=\"system\">In order to log into MariaDB to secure it, we&#8217;ll need the current<\/p>\n<p class=\"system\">password for the root user.\u00a0 If you&#8217;ve just installed MariaDB, and<\/p>\n<p class=\"system\">you haven&#8217;t set the root password yet, the password will be blank,<\/p>\n<p class=\"system\">so you should just press enter here.<\/p>\n<p class=\"system\">\n<p class=\"system\">Enter current password for root (enter for none):<\/p>\n<p class=\"system\">OK, successfully used password, moving on&#8230;<\/p>\n<p class=\"system\">\n<p class=\"system\">Setting the root password ensures that nobody can log into the MariaDB<\/p>\n<p class=\"system\">root user without the proper authorisation.<\/p>\n<p class=\"system\">\n<p class=\"system\">You already have a root password set, so you can safely answer &#8216;n&#8217;.<\/p>\n<p class=\"system\">\n<p class=\"system\">Change the root password? [Y\/n]\u00a0<strong>y<\/strong><\/p>\n<p class=\"system\">New password:<\/p>\n<p class=\"system\">Re-enter new password:<\/p>\n<p class=\"system\">Password updated successfully!<\/p>\n<p class=\"system\">Reloading privilege tables..<\/p>\n<p class=\"system\">\u00a0&#8230; Success!<\/p>\n<p class=\"system\">\n<p class=\"system\">\n<p class=\"system\">By default, a MariaDB installation has an anonymous user, allowing anyone<\/p>\n<p class=\"system\">to log into MariaDB without having to have a user account created for<\/p>\n<p class=\"system\">them.\u00a0 This is intended only for testing, and to make the installation<\/p>\n<p class=\"system\">go a bit smoother.\u00a0 You should remove them before moving into a<\/p>\n<p class=\"system\">production environment.<\/p>\n<p class=\"system\">\n<p class=\"system\">Remove anonymous users? [Y\/n]\u00a0<strong>y<\/strong><\/p>\n<p class=\"system\">\u00a0&#8230; Success!<\/p>\n<p class=\"system\">\n<p class=\"system\">Normally, root should only be allowed to connect from &#8216;localhost&#8217;.\u00a0 This<\/p>\n<p class=\"system\">ensures that someone cannot guess at the root password from the network.<\/p>\n<p class=\"system\">\n<p class=\"system\">Disallow root login remotely? [Y\/n]\u00a0<strong>y<\/strong><\/p>\n<p class=\"system\">\u00a0&#8230; Success!<\/p>\n<p class=\"system\">\n<p class=\"system\">By default, MariaDB comes with a database named &#8216;test&#8217; that anyone can<\/p>\n<p class=\"system\">access.\u00a0 This is also intended only for testing, and should be removed<\/p>\n<p class=\"system\">before moving into a production environment.<\/p>\n<p class=\"system\">\n<p class=\"system\">Remove test database and access to it? [Y\/n]\u00a0<strong>y<\/strong><\/p>\n<p class=\"system\">\u00a0&#8211; Dropping test database&#8230;<\/p>\n<p class=\"system\">\u00a0&#8230; Success!<\/p>\n<p class=\"system\">\u00a0&#8211; Removing privileges on test database&#8230;<\/p>\n<p class=\"system\">\u00a0&#8230; Success!<\/p>\n<p class=\"system\">\n<p class=\"system\">Reloading the privilege tables will ensure that all changes made so far<\/p>\n<p class=\"system\">will take effect immediately.<\/p>\n<p class=\"system\">\n<p class=\"system\">Reload privilege tables now? [Y\/n] y<\/p>\n<p class=\"system\">\u00a0&#8230; Success!<\/p>\n<p class=\"system\">Cleaning up&#8230;<\/p>\n<p class=\"system\">\n<p class=\"system\">All done!\u00a0 If you&#8217;ve completed all of the above steps, your MariaDB<\/p>\n<p class=\"system\">installation should now be secure.<\/p>\n<p class=\"system\">\n<p class=\"system\">Thanks for using MariaDB!<\/p>\n<p>In order to test MariaDB security, try to login to the database from console with no\u00a0<em>root<\/em>\u00a0password. The access to the database should be denied if no password is provided for the\u00a0<em>root<\/em>\u00a0account. If the password is supplied, the login process should be granted to MySQL console, as shown in the below screenshot.<\/p>\n<p class=\"command\">mysql -h localhost -u root<\/p>\n<p class=\"command\">mysql -h localhost -u root \u2013p<\/p>\n<p><a id=\"img-18\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/18.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/18.png\" alt=\"Test the MySQL Login\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<p>While logged in to MariaDB database, go ahead and create a database for Cacti installation and create the user that will be used to manage\u00a0<em>cacti<\/em>database, by issuing the following commands. Replace the\u00a0<em>cacti<\/em>\u00a0database user and password accordingly.<\/p>\n<pre>create database cacti;\r\ngrant all on cacti.* to 'cacti_user'@'localhost' identified by 'cacti_pass';\r\nflush privileges;\r\nexit<\/pre>\n<p>Also, grant select permissions to the cacti database user for MySQL time zone by issuing the below commands. This is a new requirement in order to install and run the latest release of Cacti.<\/p>\n<p class=\"command\">mysql -u root -p mysql &lt; \/usr\/share\/mysql\/mysql_test_data_timezone.sql<\/p>\n<p class=\"command\">mysql -u root -p -e &#8216;grant select on mysql.time_zone_name to\u00a0cacti_user@localhost&#8217;<\/p>\n<p><a id=\"img-19\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/19.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/19.png\" alt=\"Import MySQL time zone database\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<p>In the next step, open MySQL server default configuration file and append the following lines as shown in the below sample.<\/p>\n<p class=\"command\">nano \/etc\/mysql\/mariadb.conf.d\/50-server.cnf<\/p>\n<p>Add the following lines at the bottom of the\u00a0<strong>50-server.cnf<\/strong>\u00a0file:<\/p>\n<pre>max_heap_table_size              = 98M\r\ntmp_table_size\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0     = 64M\r\njoin_buffer_size\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0     = 64M\r\ninnodb_buffer_pool_size\u00a0\u00a0        = 488M\r\ninnodb_doublewrite\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0     = off\r\ninnodb_additional_mem_pool_size\u00a0 = 80M\r\ninnodb_flush_log_at_timeout\u00a0     = 3\r\ninnodb_read_io_threads\u00a0\u00a0\u00a0        = 32\r\ninnodb_write_io_threads\u00a0\u00a0        = 16<strong>\r\n<\/strong><\/pre>\n<p><a id=\"img-20\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/20.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/20.png\" alt=\"Configure MariaDB server\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<p>In order to apply all changes we made so far, restart MySQL and Apache daemons and verify that the daemons are running by issuing the following commands.<\/p>\n<p class=\"command\">systemctl restart mysql apache2<\/p>\n<p class=\"command\">systemctl status mysql apache2<\/p>\n<h2 id=\"configure-snmp-service\">Configure SNMP Service<\/h2>\n<p>Cacti web monitoring service uses the SNMP protocol in order to collect device data and statistics. In order to install the SNMP program, SNMP daemon service and SNMP MIBS in your local Debian 9 system, issue the following command with root privileges.<\/p>\n<p class=\"command\">apt install snmp snmpd snmp-mibs-downloader<\/p>\n<p><a id=\"img-22\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/22.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/22.png\" alt=\"Install snmp\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<p>Also, install the industry-standard data logging tool RRDtool, which is used by Cacti to display the graphing functionality.<\/p>\n<p class=\"command\">apt install rrdtool<\/p>\n<p><a id=\"img-22a\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/22a.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/22a.png\" alt=\"Install rrdtool\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<p>Next, edit the SNMP configuration file\u00a0<strong>\/etc\/snmp\/snmp.conf<\/strong>\u00a0and comment the \u201c<strong>mibs\u201d<\/strong>\u00a0line by adding a hashtag (#) in front of the line as described in the below image.<\/p>\n<p><a id=\"img-23\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/23.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/23.png\" alt=\"Configure snmp.conf file\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<p>Also configure SNMP daemon remote and localhost access, by opening the\u00a0<strong>snmpd.conf<\/strong>\u00a0file<strong>\u00a0<\/strong>for editing\u00a0and search and update the below lines as follows:<\/p>\n<p class=\"command\">nano \/etc\/snmp\/snmpd.conf<\/p>\n<p>Uncomment the line to listen for connections on all interfaces<\/p>\n<pre>agentAddress udp:161,udp6:[::1]:161<\/pre>\n<p><a id=\"img-24\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/24.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/24.png\" alt=\"Edit snmpd.conf file\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<p>Add the following lines to allow SNMP query for your local network via the\u00a0<strong><em>snmp_string<\/em><\/strong>\u00a0password. Replace the snmp community string\u00a0<em>snmp_string<\/em>\u00a0password and your network CIDR address accordingly.<\/p>\n<pre>rocommunity snmp_string localhost\r\nrocommunity snmp_string 192.168.1.0\/25<\/pre>\n<p><strong>\u00a0<\/strong><a id=\"img-25\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/25.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/25.png\" alt=\"Set snmp_string\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<p>Optionally, you can also modify the contact and location variable in order to provide information about your server. This information is displayed in Cacti notification area when you check your server details. Also, your system hostname, kernel version and system uptime are displayed in Cacti notification area.<\/p>\n<p>In order to modify this information, edit the\u00a0<strong>sysLocation<\/strong>\u00a0and\u00a0<strong>sysContact<\/strong>\u00a0lines under the system information section and add your own values. By default, the following values are configured for\u00a0<strong>sysLocation<\/strong>\u00a0and\u00a0<strong>sysContact<\/strong>.<\/p>\n<p><a id=\"img-26\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/26.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/26.png\" alt=\"Set sysLocation and sysContact\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<pre>sysLocation Sitting on the Dock of the Bay\r\nsysContact Me &lt;<a href=\"mailto:me@example.org\">me@example.org<\/a>&gt;<\/pre>\n<p>After you\u2019ve made the proper changes to\u00a0<strong>snmpd.conf<\/strong>\u00a0file, save and close the file and restart snmp daemon to reflect changes by issuing the below commands. Then check the snmpd daemon status and the owned ports in listening state.<\/p>\n<p class=\"command\">systemctl restart snmpd.service<\/p>\n<p class=\"command\">systemctl status snmpd.service<\/p>\n<p class=\"command\">netstat -tulpn| grep snmp<\/p>\n<p><a id=\"img-27\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/27.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/27.png\" alt=\"Restart snmp service\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<p>Open firewall port for SNMP:<\/p>\n<p class=\"command\">ufw allow 161\/udp<\/p>\n<p>In order to verify that the SNMP daemon is working as expected and retrieves all the SNMP values under memory tree for localhost, run the below command.<\/p>\n<p class=\"command\">snmpwalk -v 2c -c snmp_string localhost memory<\/p>\n<p><a id=\"img-28\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/28.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/28.png\" alt=\"Test snmp server with snmpwalk\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<h2 id=\"install-cactispine\">Install Cacti-Spine<\/h2>\n<p>Cacti-Spine is a replacement for the default cmd.php poller, written in C for faster execution time. In order to compile and install Cacti-Spine pooler from sources in Debian 9, first, execute the following command in order to install all the required dependencies into the system.<\/p>\n<p class=\"command\">apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev libmariadb-dev libmariadbclient-dev librrds-perl libsnmp-dev<\/p>\n<p>Next, download the latest version of Cacti-Spine tar compressed archive with\u00a0<strong>wget<\/strong>\u00a0utility, extract the tarball archive and enter cacti-spine extracted directory by issuing the following commands.<\/p>\n<p class=\"command\">wget https:\/\/www.cacti.net\/downloads\/spine\/cacti-spine-latest.tar.gz<\/p>\n<p class=\"command\">tar xfz cacti-spine-latest.tar.gz<\/p>\n<p class=\"command\">cd cacti-spine-1.1.24\/<\/p>\n<p>Now, compile and install Cacti-Spine utility from sources by issuing the below commands.<\/p>\n<p class=\"command\">.\/bootstrap<\/p>\n<p class=\"command\">.\/configure<\/p>\n<p class=\"command\">make<\/p>\n<p class=\"command\">make install<\/p>\n<p>Cacti-Spine will be installed in\u00a0<strong>\/usr\/local\/spine\/<\/strong>\u00a0system path. Spine recommends that you set the\u00a0SUID bit for the spine binary in order to support ICMP ping requests.<\/p>\n<p class=\"command\">chown root:root \/usr\/local\/spine\/bin\/spine<\/p>\n<p class=\"command\">chmod +s \/usr\/local\/spine\/bin\/spine<\/p>\n<p>You must also connect Spine to the cacti database by editing the configuration file with as shown in the below file excerpt.<\/p>\n<p class=\"command\">nano \/usr\/local\/spine\/etc\/spine.conf<\/p>\n<p><strong>spine.conf<\/strong>\u00a0file sample. Replace the credentials accordingly. Use the same database credentials as configured for Cacti.<\/p>\n<pre>DB_Host localhost\r\nDB_Database cacti\r\nDB_User user_cacti\r\nDB_Pass pass_cacti\r\nDB_Port 3306\r\nDB_PreG 0<\/pre>\n<p><a id=\"img-36\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/36.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/36.png\" alt=\"Edit spine.conf file\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<h2 id=\"install-cacti\">Install Cacti<\/h2>\n<p>In order to install Cacti from sources in Debian 9, first, download and extract the latest version of Cacti tarball compressed archive, then copy all the extracted files to apache web root path, by issuing the following commands.<\/p>\n<p class=\"command\">wget https:\/\/www.cacti.net\/downloads\/cacti-latest.tar.gz<\/p>\n<p class=\"command\">tar xfz cacti-latest.tar.gz<\/p>\n<p class=\"command\">cp -rf cacti-1.1.24\/* \/var\/www\/html\/<\/p>\n<p><strong><a id=\"img-37\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/37.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/37.png\" alt=\"Install Cacti\" width=\"550\" height=\"413\" \/><\/a><\/strong><\/p>\n<p>In the next step, open cacti configuration file and update the following lines to reflect MySQL cacti database username, password, host and URL path accordingly, as illustrated in the below example.<\/p>\n<p class=\"command\">nano \/var\/www\/html\/include\/config.php<\/p>\n<p><strong>\u00a0<\/strong>Cacti\u00a0<em>config.php<\/em>\u00a0file sample:<\/p>\n<pre><em>$database_type\u00a0\u00a0\u00a0\u00a0 = 'mysql';\r\n<\/em><em>$database_default\u00a0 = 'cacti';\r\n<\/em><em>$database_hostname = 'localhost';\r\n<\/em><em>$database_username = 'cacti_user';\r\n<\/em><em>$database_password = 'cacti_pass';\r\n<\/em><em>$database_port\u00a0\u00a0\u00a0\u00a0 = '3306';\r\n<\/em><em>$database_ssl\u00a0\u00a0\u00a0\u00a0\u00a0 = false;<\/em><\/pre>\n<p>Scroll down and change the path variable from\u00a0<strong>\u201c\/cacti<\/strong>\u201d to \u201c<strong>\/<\/strong>\u201d<\/p>\n<pre><em>$url_path = '\/';<\/em><\/pre>\n<p><a id=\"img-38\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/38.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/38.png\" alt=\"cacti configuration file\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<p><a id=\"img-39\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/39.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/39.png\" alt=\"cacti ULR path\" width=\"550\" height=\"413\" \/><\/a><\/p>\n<p>Next, you need to populate cacti database by loading the\u00a0<strong>cacti.sql<\/strong>\u00a0script located in your web server document root location and verify cacti mysql tables by issuing the below commands.<\/p>\n<pre>mysql -u cacti_user cacti -p &lt; \/var\/www\/html\/cacti.sql<\/pre>\n<pre>mysql -u cacti_user cacti -p -e 'show tables'<\/pre>\n<p>Finally, before starting to install Cacti from web interface, execute the below commands in order to remove the default index.html file installed by Apache web server, create the log file for Cacti and allow Apache runtime user with full write permissions to cacti installation path.<\/p>\n<p class=\"command\">rm \/var\/www\/html\/index.html<\/p>\n<p class=\"command\">touch \/var\/www\/html\/log\/cacti.log<\/p>\n<p class=\"command\">chown -R www-data:www-data \/var\/www\/html\/<\/p>\n<p><strong>\u00a0<\/strong>Start installing Cacti via the web interface by visiting your system IP address or domain name from a browser and opening the following URL.<\/p>\n<p><a href=\"http:\/\/192.168.1.14\/install\">http:\/\/192.168.1.14\/install<\/a><\/p>\n<p>At the first screen check Accept GPL License Agreement and hit on the Next button to continue as shown in the below screenshot.<\/p>\n<p><a id=\"img-46\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/46.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/46.PNG\" alt=\"Accept cacti license agreement\" width=\"550\" height=\"294\" \/><\/a><\/p>\n<p>On the next screen, scroll down and verify if all system requirements are passed by the installer and hit Next button to move forward with the installation process.<\/p>\n<p><a id=\"img-47\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/47.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/47.PNG\" alt=\"Check system requirements\" width=\"550\" height=\"393\" \/><\/a><\/p>\n<p><a id=\"img-48\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/48.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/48.PNG\" alt=\"Cacti settings\" width=\"550\" height=\"389\" \/><\/a><\/p>\n<p><a id=\"img-49\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/49.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/49.PNG\" alt=\"Cacti settings part 2\" width=\"550\" height=\"389\" \/><\/a><\/p>\n<p>Next, choose\u00a0<strong>New Primary Server<\/strong>\u00a0as the installation type and click on Next button to continue.<\/p>\n<p><a id=\"img-50\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/50.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/50.PNG\" alt=\"Install primary server\" width=\"550\" height=\"299\" \/><\/a><\/p>\n<p>Now verify if all critical binary locations and versions are correctly detected by cacti installer. Also, you should update Spine binary path to\u00a0<strong>\/usr\/local\/spine\/bin\/spine<\/strong>. You can choose the Classical theme and hit Next button to continue.<\/p>\n<p><a id=\"img-51\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/51.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/51.PNG\" alt=\"Binary locations and versions\" width=\"550\" height=\"389\" \/><\/a><\/p>\n<p>On the next screen, the installer will verify Apache web root directory permissions in order to check if the web server is allowed to perform writes to cacti installation path. If all the required paths are writable, hit on Next button to continue.<\/p>\n<p><a id=\"img-52\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/52.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/52.PNG\" alt=\"Check if paths are writable\" width=\"550\" height=\"391\" \/><\/a><\/p>\n<p>Select all the templates from the provided list and hit on Finish button in order to complete the installation.<\/p>\n<p><a id=\"img-53\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/53.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/53.PNG\" alt=\"Finish cacti installation\" width=\"550\" height=\"281\" \/><\/a><\/p>\n<p>After you\u2019ve finished the installation process, log in to Cacti web interface with the following default credentials and replace the admin default password with a new strong password, as illustrated in the following screenshots.<\/p>\n<p>Username:\u00a0<strong>admin<br \/>\n<\/strong>Password:\u00a0<strong>admin<\/strong><\/p>\n<p><a id=\"img-54\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/54.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/54.PNG\" alt=\"Login to cacti\" width=\"550\" height=\"327\" \/><\/a><\/p>\n<p><a id=\"img-55\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/55.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/55.PNG\" alt=\"Change cacti admin password\" width=\"550\" height=\"307\" \/><\/a><\/p>\n<p>After you log in to Cacti web interface, navigate to\u00a0<strong>Console -&gt; Configuration -&gt; Settings -&gt;<\/strong><strong>\u00a0Poller<\/strong>\u00a0and change the poller type from cmd.php to\u00a0<strong>spine<\/strong>\u00a0binary, as shown in the below image. Scroll down and hit the\u00a0<strong>Save<\/strong>\u00a0button to apply changes.<\/p>\n<p><a id=\"img-57\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/57.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/57.PNG\" alt=\"Change poller to spine\" width=\"550\" height=\"390\" \/><\/a><\/p>\n<p>Then navigate to\u00a0<strong>Console -&gt; Configuration -&gt; Settings -&gt; Paths and update Cacti-Spine<\/strong>\u00a0and set the configuration file path\u00a0to the following path\u00a0<strong>\/usr\/local\/spine\/etc\/spine.conf<\/strong>\u00a0and hit on Save button to apply configuration, as illustrated in the below image.<\/p>\n<p><a id=\"img-57a\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/57a.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/57a.PNG\" alt=\"Set spine.conf path\" width=\"550\" height=\"433\" \/><\/a><\/p>\n<p>In order to add a new device to be monitored via SNMP, go to\u00a0<strong>Console -&gt; Management -&gt; Devices<\/strong>\u00a0and hit on\u00a0<strong>+<\/strong>\u00a0icon, as illustrated in the below image. For demonstration purposes, we\u2019ll add the localhost machine to be monitored by Cacti via SNMP protocol.<\/p>\n<p><a id=\"img-58\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/58.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/58.PNG\" alt=\"Add new monitored device\" width=\"550\" height=\"286\" \/><\/a><\/p>\n<p>For the newly added Linux device that will be monitored via SNMP, add a description for the device, the hostname, FQDN or the IP address of the monitored device and select\u00a0<strong><em>Local Linux Machine<\/em><\/strong>\u00a0as device template. In SNMP options, select the proper SNMP Version (in this case we\u2019ll use the version 2) and write your device SNMP community string, as described in the below images. In case the SNMP port hasn\u2019t been changed, leave the port value as default and, when you finish, scroll down and hit on Create button to add the device to Cacti database in order to be monitored.<\/p>\n<p><a id=\"img-59\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/59.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/59.PNG\" alt=\"Configure device settings\" width=\"550\" height=\"389\" \/><\/a><\/p>\n<p><a id=\"img-60\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/60.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/60.PNG\" alt=\"Configure device settings - part 2\" width=\"550\" height=\"391\" \/><\/a><\/p>\n<p>After the device has been added to Cacti database, an SNMP summary will be displayed on top of the device page in case the device was properly detected and queried. In order to create RRDTool SNMP graphs for this device, click on\u00a0<strong>Create Graphs for this device<\/strong>\u00a0link, check the graph templates you want to further examine and hit on Create button to move to the next screen, then, hit on Create button again to finish, as illustrated in the following images.<\/p>\n<p><a id=\"img-61\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/61.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/61.PNG\" alt=\"Create Graphs\" width=\"550\" height=\"311\" \/><\/a><\/p>\n<p><a id=\"img-62\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/62.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/62.PNG\" alt=\"Create Graphs 2\" width=\"550\" height=\"340\" \/><\/a><\/p>\n<p><a id=\"img-63\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/63.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/63.PNG\" alt=\"Create Graphs 3\" width=\"550\" height=\"314\" \/><\/a><\/p>\n<p>In order to visualize the graphs, navigate to Console -&gt; Management -&gt; Devices, check the device you want to further perform an action and select Place on a Tree (Default Tree) from action menu.<\/p>\n<p><a id=\"img-64\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/64.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/64.PNG\" alt=\"Place device on default tree\" width=\"550\" height=\"334\" \/><\/a><\/p>\n<p>On the new screen, leave the Destination Branch as default and hit on Continue button to finish the process, as described in the below image.<\/p>\n<p><a id=\"img-65\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/65.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/65.PNG\" alt=\"Click continue\" width=\"550\" height=\"262\" \/><\/a><\/p>\n<p>Finally, in order for Cacti poller to start collecting data about monitored devices, you need to add a new cron job that will query the devices via SNMP every 5 minutes. \u00a0Add the scheduled job to be owned and executed by Apache runtime user by issuing the below command.<\/p>\n<p class=\"command\">crontab \u2013u www-data \u2013e<\/p>\n<p>Crontab job line:<\/p>\n<pre>*\/5 * * * * \/usr\/bin\/php \/var\/www\/html\/poller.php &gt; \/var\/www\/html\/log\/cron.log 2&gt;&amp;1<\/pre>\n<p><strong><a id=\"img-68\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/68.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/68.png\" alt=\"Add cacti cronjob\" width=\"550\" height=\"413\" \/><\/a><\/strong><\/p>\n<p>After you have added the pooler cronjob, wait about a half hour to give Cacti time to gather data and then navigate to the Graphs tab in the Cacti web interface. Expand the default tree and the graphs collected from your monitored machine should be displayed as illustrated in the below screenshot.<\/p>\n<p><a id=\"img-69\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/69.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/69.PNG\" alt=\"Cacti monitoring\" width=\"550\" height=\"391\" \/><\/a><\/p>\n<p>For now, Cacti interface can be accessed from client\u2019s browsers in an unsecured way via HTTP protocol. All sensitive information about your devices, as well as cacti login credentials, are sent in plain text. In order to encrypt the traffic between client\u2019s browsers and Cacti web interface, issue the following commands with root privileges in order to enable Apache SSL configuration.<\/p>\n<p class=\"command\">a2enmod ssl<\/p>\n<p class=\"command\">a2ensite default-ssl.conf<\/p>\n<p class=\"command\">systemctl restart apache2<\/p>\n<p>Afterwards, navigate to Cacti web interface via HTTPS protocol. Because Apache web server uses a self-signed certificate to encrypt the connection, an error message should be displayed in your browser. Accept the error and you can now securely access Cacti web interface as shown in the following screenshot.<\/p>\n<p><a id=\"img-71\" class=\"fancybox\" href=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/big\/71.PNG\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.howtoforge.com\/images\/install_cacti_in_debian_9\/71.PNG\" alt=\"Cacti interface secured with SSL\" width=\"550\" height=\"390\" \/><\/a><\/p>\n<p>That\u2019s all! You have successfully installed and configured Cacti from sources in Debian 9. For other custom settings regarding Cacti, visit the documentation pages at the following link\u00a0<a href=\"https:\/\/docs.cacti.net\/manual:100\">https:\/\/docs.cacti.net\/manual:100<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>How to Install Cacti SNMP Monitoring Tool on Debian 9 &nbsp; This tutorial will\u00a0show you how to install and configure Cacti network monitoring tool from source\u00a0to ensure that you get the latest version on Debian 9, codename Stretch. Cacti is a web-based network monitoring tool, completely open source, designed to display network and system graphics [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":780,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-967","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/helia.ee\/koolitus\/index.php?rest_route=\/wp\/v2\/pages\/967","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helia.ee\/koolitus\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/helia.ee\/koolitus\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/helia.ee\/koolitus\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/helia.ee\/koolitus\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=967"}],"version-history":[{"count":2,"href":"https:\/\/helia.ee\/koolitus\/index.php?rest_route=\/wp\/v2\/pages\/967\/revisions"}],"predecessor-version":[{"id":969,"href":"https:\/\/helia.ee\/koolitus\/index.php?rest_route=\/wp\/v2\/pages\/967\/revisions\/969"}],"up":[{"embeddable":true,"href":"https:\/\/helia.ee\/koolitus\/index.php?rest_route=\/wp\/v2\/pages\/780"}],"wp:attachment":[{"href":"https:\/\/helia.ee\/koolitus\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=967"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}