User Tools

Site Tools


сервис_prometheus

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
сервис_prometheus [2021/04/16 08:20]
val [prometheus-node-exporter]
сервис_prometheus [2022/02/23 15:47]
val [Подключение]
Line 5: Line 5:
   * [[https://​www.shellhacks.com/​ru/​prometheus-delete-time-series-metrics/​|Prometheus:​ Удаление Метрик Временных Рядов]]   * [[https://​www.shellhacks.com/​ru/​prometheus-delete-time-series-metrics/​|Prometheus:​ Удаление Метрик Временных Рядов]]
  
-===== Установка в Debian ​10 ===== +===== Установка в Debian/​Ubuntu ​=====
- +
-  * [[Сервис MTA#​Установка и настройка MTA на обработку почты домена hostname]]+
  
 <​code>​ <​code>​
 # apt install prometheus # apt install prometheus
  
 +# less /​etc/​prometheus/​prometheus.yml
 +</​code><​code>​
 +...
 +global:
 +  scrape_interval: ​    15s
 +...
 +</​code>​
 +
 +==== Проверка конфигурации и перезапуск ====
 +
 +<​code>​
 # promtool check config /​etc/​prometheus/​prometheus.yml # promtool check config /​etc/​prometheus/​prometheus.yml
 +
 +# service prometheus restart
 </​code>​ </​code>​
  
Line 18: Line 29:
  
   * [[http://​server.corpX.un:​9090/​targets]]   * [[http://​server.corpX.un:​9090/​targets]]
 +  * [[http://​server:​9090/​classic/​targets]]
   * [[http://​192.168.X.10:​9090/​metrics]]   * [[http://​192.168.X.10:​9090/​metrics]]
   * [[http://​10.5.N.100+X:​9090/​graph]]   * [[http://​10.5.N.100+X:​9090/​graph]]
Line 30: Line 42:
   * [[https://​www.digitalocean.com/​community/​tutorials/​how-to-use-alertmanager-and-blackbox-exporter-to-monitor-your-web-server-on-ubuntu-16-04|How To Use Alertmanager And Blackbox Exporter To Monitor Your Web Server On Ubuntu 16.04]]   * [[https://​www.digitalocean.com/​community/​tutorials/​how-to-use-alertmanager-and-blackbox-exporter-to-monitor-your-web-server-on-ubuntu-16-04|How To Use Alertmanager And Blackbox Exporter To Monitor Your Web Server On Ubuntu 16.04]]
   * [[https://​awesome-prometheus-alerts.grep.to/​|Awesome Prometheus alerts]]   * [[https://​awesome-prometheus-alerts.grep.to/​|Awesome Prometheus alerts]]
 +
 +  * [[Сервис MTA#​Установка и настройка MTA на обработку почты домена hostname]]
  
 <​code>​ <​code>​
Line 41: Line 55:
   smtp_from: '​prometheus@server.corpX.un'​   smtp_from: '​prometheus@server.corpX.un'​
   smtp_require_tls:​ false   smtp_require_tls:​ false
 +#  smtp_auth_username:​ '​alertmanager'​
 +#  smtp_auth_password:​ '​password'​
 ... ...
   # A default receiver   # A default receiver
Line 48: Line 64:
 - name: '​team-X-mails'​ - name: '​team-X-mails'​
   email_configs:​   email_configs:​
-  ​send_resolved:​ true +#  ​- to: '​student@corpX.un'​ 
-    ​to: '​student@corpX.un'​+#  - to: '​userX@isp.un'​ 
 +    send_resolved:​ true
 ... ...
 </​code><​code>​ </​code><​code>​
 +# service prometheus-alertmanager restart
 +
 # cat /​etc/​prometheus/​first_rules.yml # cat /​etc/​prometheus/​first_rules.yml
 </​code><​code>​ </​code><​code>​
Line 97: Line 116:
  
 ... ...
-</code><​code> +</​code>​ 
-promtool check config /​etc/​prometheus/​prometheus.yml + 
-</​code>​<​code>​+  * [[#Проверка конфигурации и перезапуск]] 
 + 
 +<​code>​
 ... ...
 Checking /​etc/​prometheus/​first_rules.yml Checking /​etc/​prometheus/​first_rules.yml
Line 105: Line 126:
 ... ...
 </​code>​ </​code>​
 +
 +  * [[http://​server.corpX.un:​9090/​alerts]]
 ===== Exporters ===== ===== Exporters =====
  
Line 120: Line 143:
 /​dev/​mapper/​debian--vg-root ​ 15662008 1877488 ​ 12969212 ​ 13% / /​dev/​mapper/​debian--vg-root ​ 15662008 1877488 ​ 12969212 ​ 13% /
 ... ...
 +# TYPE node_filesystem_free_bytes gauge
 node_filesystem_free_bytes{device="/​dev/​mapper/​debian--vg-root",​fstype="​ext4",​mountpoint="/"​} = (15662008 - 1877488) * 1024  node_filesystem_free_bytes{device="/​dev/​mapper/​debian--vg-root",​fstype="​ext4",​mountpoint="/"​} = (15662008 - 1877488) * 1024 
 </​code>​ </​code>​
Line 128: Line 151:
 $ cat /​sys/​class/​net/​eth1/​statistics/​rx_bytes $ cat /​sys/​class/​net/​eth1/​statistics/​rx_bytes
  
 +# TYPE node_network_receive_bytes_total counter
 node_network_receive_bytes_total{device="​eth1"​} node_network_receive_bytes_total{device="​eth1"​}
 </​code>​ </​code>​
Line 157: Line 181:
   * [[https://​geekflare.com/​monitor-website-with-blackbox-prometheus-grafana/​|How to Monitor Website Performance with Blackbox Exporter and Grafana?]]   * [[https://​geekflare.com/​monitor-website-with-blackbox-prometheus-grafana/​|How to Monitor Website Performance with Blackbox Exporter and Grafana?]]
   * [[https://​habr.com/​ru/​company/​otus/​blog/​500448/​|Prometheus:​ мониторинг HTTP через Blackbox экспортер]]   * [[https://​habr.com/​ru/​company/​otus/​blog/​500448/​|Prometheus:​ мониторинг HTTP через Blackbox экспортер]]
-  * [[https://​www.robustperception.io/​icmp-pings-with-the-blackbox-exporter|ICMP Pings with the Blackbox exporter]], [[https://​github.com/​prometheus/​blackbox_exporter|github blackbox_exporter]],​ [[POSIX capabilities]] или [[Управление ядром и модулями в Linux#​Переменные ядра]] 
  
-=== Пример статической конфигурации === 
 <​code>​ <​code>​
 # apt install prometheus-blackbox-exporter # apt install prometheus-blackbox-exporter
 +</​code>​
  
 +=== Пример конфигурации ===
 +<​code>​
 # cat /​etc/​prometheus/​blackbox.yml # cat /​etc/​prometheus/​blackbox.yml
 </​code><​code>​ </​code><​code>​
Line 176: Line 201:
 # cat /​etc/​prometheus/​prometheus.yml # cat /​etc/​prometheus/​prometheus.yml
 </​code><​code>​ </​code><​code>​
-  ​- job_name: ​check_ssh+... 
 +  ​- job_name: ​check_http
     metrics_path:​ /probe     metrics_path:​ /probe
     params:     params:
-      module: [ssh_banner]+      module: [http_2xx]
     static_configs:​     static_configs:​
       - targets:       - targets:
-        - switch1:22 +        - https://​google.com 
-        - switch2:22 +        - https://ya.ru
-        - switch3:22+
     relabel_configs:​     relabel_configs:​
       - source_labels:​ [__address__]       - source_labels:​ [__address__]
Line 191: Line 216:
         target_label:​ instance         target_label:​ instance
       - target_label:​ __address__       - target_label:​ __address__
-        replacement: ​127.0.0.1:9115+        replacement: ​localhost:9115
  
-  - job_name: ​check_http+  - job_name: ​check_ssh
     metrics_path:​ /probe     metrics_path:​ /probe
     params:     params:
-      module: [http_2xx]+      module: [ssh_banner]
     static_configs:​     static_configs:​
       - targets:       - targets:
-        - http://​val.bmstu.ru +        - switch1:22 
-        - https://ya.ru+        - switch2:22 
 +        - switch3:22
     relabel_configs:​     relabel_configs:​
       - source_labels:​ [__address__]       - source_labels:​ [__address__]
Line 207: Line 233:
         target_label:​ instance         target_label:​ instance
       - target_label:​ __address__       - target_label:​ __address__
-        replacement: ​127.0.0.1:9115+        replacement: ​localhost:9115
 </​code>​ </​code>​
  
-  * [[http://10.5.7.100+X:9115/]]+  ​* [[#​Проверка конфигурации и перезапуск]] 
 +  ​* [[http://server.corpX.un:9115/]] Blackbox Exporter->​Logs и [[http://​server.corpX.un:​9090/​graph]]
  
 <​code>​ <​code>​
Line 219: Line 246:
 probe_http_duration_seconds... probe_http_duration_seconds...
 </​code>​ </​code>​
-=== Пример ​динамической конфигурации ===+=== Пример использования file-based service discovery и сервиса ping === 
 + 
 +  * [[https://​www.robustperception.io/​icmp-pings-with-the-blackbox-exporter|ICMP Pings with the Blackbox exporter]], [[https://​github.com/​prometheus/​blackbox_exporter|github blackbox_exporter]],​ [[POSIX capabilities]] или [[Управление ядром и модулями в Linux#​Переменные ядра]] 
 <​code>​ <​code>​
 # cat /​etc/​prometheus/​prometheus.yml # cat /​etc/​prometheus/​prometheus.yml
Line 249: Line 279:
 </​code><​code>​ </​code><​code>​
 # cat /​etc/​prometheus/​switchs.yml # cat /​etc/​prometheus/​switchs.yml
 +</​code><​code>​
 - targets: - targets:
   - switch1   - switch1
Line 255: Line 286:
 </​code>​ </​code>​
  
 +  * [[#​Проверка конфигурации и перезапуск]]
 ==== prometheus-snmp-exporter ==== ==== prometheus-snmp-exporter ====
  
Line 301: Line 333:
 </​code><​code>​ </​code><​code>​
 # service prometheus-snmp-exporter restart # service prometheus-snmp-exporter restart
 +</​code>​
  
 +  * [[http://​server.corpX.un:​9116/​]]
 +
 +<​code>​
 # curl --noproxy 127.0.0.1 '​http://​127.0.0.1:​9116/​snmp?​target=router&​module=snmp_in_out_octets'​ # curl --noproxy 127.0.0.1 '​http://​127.0.0.1:​9116/​snmp?​target=router&​module=snmp_in_out_octets'​
 </​code><​code>​ </​code><​code>​
Line 320: Line 356:
         target_label:​ instance         target_label:​ instance
       - target_label:​ __address__       - target_label:​ __address__
-        replacement: ​server:9116 +        replacement: ​localhost:9116 
-</​code>​<​code>​ +</​code>​
-# promtool check config /​etc/​prometheus/​prometheus.yml+
  
-service prometheus restart +  * [[#Проверка конфигурации и перезапуск]] 
-</​code>​<​code>​+ 
 +<​code>​
 rate(if_in_octets{ifDescr="​FastEthernet1/​1",​ifIndex="​3",​instance="​router",​job="​snmp"​}[1m]) rate(if_in_octets{ifDescr="​FastEthernet1/​1",​ifIndex="​3",​instance="​router",​job="​snmp"​}[1m])
  
Line 340: Line 376:
 </​code><​code>​ </​code><​code>​
 ... ...
-  - job_name: 'Pushgateway'+  - job_name: 'pushgateway'
     honor_labels:​ true     honor_labels:​ true
     static_configs:​     static_configs:​
     - targets: ['​localhost:​9091'​]     - targets: ['​localhost:​9091'​]
 </​code>​ </​code>​
 +
 +  * [[#​Проверка конфигурации и перезапуск]]
 ==== Пример prometheus pushgateway на bash ==== ==== Пример prometheus pushgateway на bash ====
  
Line 366: Line 404:
 </​code><​code>​ </​code><​code>​
 ip_dhcp_binding{dhcp_server="​router",​job="​cisco_dhcp",​net="​192.168"​} ip_dhcp_binding{dhcp_server="​router",​job="​cisco_dhcp",​net="​192.168"​}
 +</​code><​code>​
 +# crontab -l
 +</​code><​code>​
 +* * * * * /​root/​ip_dhcp_binding.sh
 </​code>​ </​code>​
сервис_prometheus.txt · Last modified: 2024/06/28 10:19 by val