Monitoring Using Prometheus Agents
Monitoring using various Prometheus Agents
Depending on which OS, the application running, install Prometheus agent by using respective OS agent.
Installation
a) Node Exporter Installation on Linux:
Step 1: Download Prometheus agent from url
wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
Step 2: Extract tar file
tar -zxf node_exporter-0.18.1.linux-amd64.tar.gz
Step 3: Navigate to the directory
cd node_exporter-0.18.1.linux-amd64
cp node_exporter /usr/local/bin/
Step 4: Update node_exporter.service by navigating the folder as shown below
vi /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=root
Group=root
Type=simple
ExecStart=/usr/local/bin/node_exporter --collector.bcache --collector.bonding --collector.conntrack --collector.cpu --collector.cpufreq --collector.diskstats --collector.drbd --collector.edac --collector.entropy --collector.filefd --collector.filesystem --collector.hwmon --collector.infiniband --collector.interrupts --collector.ipvs --collector.ksmd --collector.loadavg --collector.logind --collector.mdadm --collector.meminfo --collector.meminfo_numa --collector.mountstats --collector.netclass --collector.netdev --collector.netstat --collector.nfs --collector.nfsd --collector.ntp --collector.pressure --collector.processes --collector.qdisc --collector.runit --collector.sockstat --collector.stat --collector.supervisord --collector.systemd --collector.tcpstat --collector.time --collector.timex --collector.uname --collector.filesystem.ignored-mount-points="" --collector.perf --collector.diskstats.ignored-devices=""
[Install]
WantedBy=multi-user.target
Step 5: Provision as Linux Service
sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl status node_exporter
Step 6: Update firewall ports and restart firewall service
sudo firewall-cmd --permanent --add-port=9100/tcp
sudo firewall-cmd --reload
b) Prometheus Exporter for RabbitMQ Installation on Linux
Check Prometheus exporter for RabbitMQ metrics https://github.com/kbudde/rabbitmq_exporter/releases/tag/v1.0.0-RC6
Step1: Download agent
wget https://github.com/kbudde/rabbitmq_exporter/releases/download/v0.29.0/rabbitmq_exporter-0.29.0.linux-amd64.tar.gz
Step 2: Extract rar file
tar -zxf rabbitmq_exporter-0.29.0.linux-amd64.tar.gz
Step 3: Navigate to the directory
cd rabbitmq_exporter-0.29.0.linux-amd64
Step 4: Copy rabbimq_exporter to /usr/local.bin
cp rabbitmq_exporter /usr/local/bin/
Step 5: Open rabbtmq_exporter.service for editing and update the properties including port number
vi /etc/systemd/system/rabbitmq_exporter.service
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=root
Group=root
Type=simple
Environment=RABBIT_CAPABILITIES=bert,no_sort \
ExecStart=/usr/local/bin/rabbitmq_exporter \
RABBIT_EXPORTERS="[exchange node overview queue connection cluster shovel]"\
PUBLISH_PORT=9090
[Install]
WantedBy=multi-user.target
Step 6: Provision as linux service and update firewall rules
systemctl daemon-reload
systemctl start rabbitmq_exporter
systemctl status rabbitmq_exporter
Step 7: Update firewall ports and reload service
firewall-cmd --permanent --add-port=9090/tcp
firewall-cmd --reload
c) Process Exporter
Please click here for more information on process exporter https://github.com/ncabatoff/process-exporter.
Step 1: Download agent
wget https://github.com/ncabatoff/process-exporter/releases/download/v0.5.0/process-exporter_0.5.0_linux_386.rpm
Step 2: Extract the file
# rpm -ivh process-exporter_0.5.0_linux_386.rpm
Step 3: open all.yaml file and update the process names.
process_names:
- name: "{{.ExeFull}}"
cmdline:
- '.+'
Step 4: Provision as Linux service
#systemctl daemon-reload
#systemctl start process-exporter
#systemctl status process-exporter
Step 5: Update firewalls and ports. Default port is 9256
# firewall-cmd --permanent --add-port=9256/tcp
# firewall-cmd --reload
d) Prometheus exporter for windows machines using WMI.
Step 1: Download the msi file
https://github.com/martinlindhe/wmi_exporter/releases/download/v0.9.0/wmi_exporter-0.9.0-amd64.msi
Step 2: Open powershell and execute the following commands. Please note the commands differ for windows, IIS, MSSQL, etc and are mentioned below as sub-steps
Step 2a: For Windows Only
msiexec /i <path-to-msi-file> ENABLED_COLLECTORS=os,cpu,cs,dns,logical_disk,memory,net,process,service,system,tcp LISTEN_PORT=9182
Step 2b: For IIS only
msiexec /i <path-to-msi-file> ENABLED_COLLECTORS=os,cpu,cs,dns,logical_disk,memory,net,process,service,system,tcp,iis LISTEN_PORT=9182
Step 2c: For MSSQL
msiexec /i <path-to-msi-file> ENABLED_COLLECTORS=os,cpu,cs,dns,logical_disk,memory,net,process,service,system,tcp,mssql LISTEN_PORT=9182
Step 2d: For all-in one VM
msiexec /i <path-to-msi-file> ENABLED_COLLECTORS=os,cpu,cs,dns,logical_disk,memory,net,process,service,system,tcp,iis,mssql LISTEN_PORT=9182
Step 3: You need to enable the respective port in firewall.
Note: We cannot run multiple wmi_exporter in single vm, before executing the command, please check if it needs to be enabled for IIS and MSSql etc.
e) Prometheus Exporter for Oracle on Linux
Please refer the exporter at Github: https://github.com/iamseth/oracledb_exporter
Step 1: In order to run, you'll need the Oracle Instant Client Basic for your operating system. Only the basic version is required for execution.
Link for Oracle Instant Client Basic: https://www.oracle.com/database/technologies/instant-client/downloads.html.
Select the zip file based on your os type and download the Basic Package (ZIP) Version 18.5.0.0.0 (any zip file in this version) download zip file. At the end of the page, you will have will have steps to how to Installation of ZIP files. Follow those steps carefully.
Step 2: Download the Oracle db exporter agent
wget https://github.com/iamseth/oracledb_exporter/releases/download/0.2.2/oracledb_exporter.0.2.2.linux-amd64.tar.gz
Step 3: Extract the file
# tar -zxf oracledb_exporter.0.2.2.linux-amd64.tar.gz
# cd oracledb_exporter.0.2.2.linux-amd64
# nohup ./oracledb_exporter -default.metrics=/home/oracle/oracledb_exporter.0.2.2.linux-amd64/default-metrics.toml -web.listen-address :9161 &
Step 4: Enable firewall ports, 9162 is the default port
# firewall-cmd --permanent --add-port=9162/tcp
# firewall-cmd --reload
Step 5: Additional information, set the following paths as an example
export ORACLE_HOSTNAME=<Fully Qualified Domain Name>
export ORACLE_UNQNAME=test1 <unique name chosen>
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
export ORACLE_SID=test1
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/opt/glibc-2.14/lib:/u01/app/oracle/instantclient_18_5/instantclient_18_5
Last updated