This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
сервис_prometheus [2021/04/19 13:37] val [Установка и настройка] |
сервис_prometheus [2021/04/21 10:36] val [Установка и настройка] |
||
---|---|---|---|
Line 11: | Line 11: | ||
<code> | <code> | ||
# apt install prometheus | # apt install prometheus | ||
+ | |||
+ | # less /etc/prometheus/prometheus.yml | ||
+ | </code><code> | ||
+ | ... | ||
+ | global: | ||
+ | scrape_interval: 15s | ||
+ | ... | ||
</code> | </code> | ||
Line 18: | Line 25: | ||
# promtool check config /etc/prometheus/prometheus.yml | # promtool check config /etc/prometheus/prometheus.yml | ||
- | service prometheus restart | + | # service prometheus restart |
</code> | </code> | ||
Line 54: | Line 61: | ||
- 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 113: | Line 123: | ||
... | ... | ||
</code> | </code> | ||
+ | |||
+ | * [[http://server.corpX.un:9090/alerts]] | ||
===== Exporters ===== | ===== Exporters ===== | ||
Line 128: | Line 140: | ||
/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 136: | Line 148: | ||
$ 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 165: | Line 178: | ||
* [[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 184: | Line 198: | ||
# 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 199: | Line 213: | ||
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 215: | Line 230: | ||
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 227: | Line 243: | ||
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 257: | Line 276: | ||
</code><code> | </code><code> | ||
# cat /etc/prometheus/switchs.yml | # cat /etc/prometheus/switchs.yml | ||
+ | </code><code> | ||
- targets: | - targets: | ||
- switch1 | - switch1 | ||
Line 263: | Line 283: | ||
</code> | </code> | ||
+ | * [[#Проверка конфигурации и перезапуск]] | ||
==== prometheus-snmp-exporter ==== | ==== prometheus-snmp-exporter ==== | ||
Line 309: | Line 330: | ||
</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 328: | Line 353: | ||
target_label: instance | target_label: instance | ||
- target_label: __address__ | - target_label: __address__ | ||
- | replacement: server:9116 | + | replacement: localhost:9116 |
</code> | </code> | ||
Line 348: | Line 373: | ||
</code><code> | </code><code> | ||
... | ... | ||
- | - job_name: 'Pushgateway' | + | - job_name: 'pushgateway' |
honor_labels: true | honor_labels: true | ||
static_configs: | static_configs: | ||
Line 376: | Line 401: | ||
</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> |