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 16:41] val [prometheus-blackbox-exporter] |
сервис_prometheus [2023/06/24 16:10] val [prometheus-snmp-exporter] |
||
---|---|---|---|
Line 4: | Line 4: | ||
* [[https://habr.com/ru/company/southbridge/blog/455290/|Полное руководство по Prometheus в 2019 году]] | * [[https://habr.com/ru/company/southbridge/blog/455290/|Полное руководство по Prometheus в 2019 году]] | ||
* [[https://www.shellhacks.com/ru/prometheus-delete-time-series-metrics/|Prometheus: Удаление Метрик Временных Рядов]] | * [[https://www.shellhacks.com/ru/prometheus-delete-time-series-metrics/|Prometheus: Удаление Метрик Временных Рядов]] | ||
+ | * [[https://habr.com/ru/companies/tochka/articles/683608/|Человеческим языком про метрики]] | ||
- | ===== Установка в 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> | ||
Line 24: | Line 30: | ||
* [[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 36: | Line 43: | ||
* [[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 47: | Line 56: | ||
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 54: | Line 65: | ||
- 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 127: | ||
... | ... | ||
</code> | </code> | ||
+ | |||
+ | * [[http://192.168.X.10:9090/alerts]] | ||
===== Exporters ===== | ===== Exporters ===== | ||
==== prometheus-node-exporter ==== | ==== prometheus-node-exporter ==== | ||
- | * В Debian ставится как зависимость к пакету prometheus и добавлен в конфигурацию | + | * В Debian/Ubuntu ставится как зависимость к пакету prometheus и добавлен в конфигурацию |
* [[http://server.corpX.un:9100/metrics]] | * [[http://server.corpX.un:9100/metrics]] | ||
Line 128: | Line 144: | ||
/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 134: | Line 150: | ||
== node_network_receive_bytes_total == | == node_network_receive_bytes_total == | ||
<code> | <code> | ||
- | $ cat /sys/class/net/eth1/statistics/rx_bytes | + | $ cat /sys/class/net/eth0/statistics/rx_bytes |
+ | или | ||
+ | $ cat /sys/class/net/bond0/statistics/rx_bytes | ||
- | node_network_receive_bytes_total{device="eth1"} | + | # TYPE node_network_receive_bytes_total counter |
+ | node_network_receive_bytes_total{device="bond0"} | ||
</code> | </code> | ||
Line 155: | Line 174: | ||
8*rate(node_network_receive_bytes_total[1m]) | 8*rate(node_network_receive_bytes_total[1m]) | ||
- | 8*rate(node_network_receive_bytes_total{device="eth1"}[1m]) | + | 8*rate(node_network_receive_bytes_total{device="bond0"}[1m]) |
- | 8*rate(node_network_receive_bytes_total{device="eth1",instance="localhost:9100",job="node"}[1m]) | + | 8*rate(node_network_receive_bytes_total{device="eth0",instance="localhost:9100",job="node"}[1m]) |
</code> | </code> | ||
Line 185: | Line 204: | ||
# cat /etc/prometheus/prometheus.yml | # cat /etc/prometheus/prometheus.yml | ||
</code><code> | </code><code> | ||
+ | ... | ||
- job_name: check_http | - job_name: check_http | ||
metrics_path: /probe | metrics_path: /probe | ||
Line 191: | Line 211: | ||
static_configs: | static_configs: | ||
- targets: | - targets: | ||
- | - http://val.bmstu.ru | + | - https://google.com |
- https://ya.ru | - https://ya.ru | ||
relabel_configs: | relabel_configs: | ||
Line 199: | Line 219: | ||
target_label: instance | target_label: instance | ||
- target_label: __address__ | - target_label: __address__ | ||
- | replacement: 127.0.0.1:9115 | + | replacement: localhost:9115 |
- job_name: check_ssh | - job_name: check_ssh | ||
Line 216: | Line 236: | ||
target_label: instance | target_label: instance | ||
- target_label: __address__ | - target_label: __address__ | ||
- | replacement: 127.0.0.1:9115 | + | replacement: localhost:9115 |
</code> | </code> | ||
* [[#Проверка конфигурации и перезапуск]] | * [[#Проверка конфигурации и перезапуск]] | ||
- | * [[http://server.corpX.un:9115/]] Blackbox Exporter -> Logs | + | * [[http://server.corpX.un:9115/]] Blackbox Exporter->Logs и [[http://server.corpX.un:9090/graph]] |
<code> | <code> | ||
Line 262: | Line 282: | ||
</code><code> | </code><code> | ||
# cat /etc/prometheus/switchs.yml | # cat /etc/prometheus/switchs.yml | ||
+ | </code><code> | ||
- targets: | - targets: | ||
- switch1 | - switch1 | ||
Line 289: | Line 310: | ||
- 1.3.6.1.2.1.2.2.1.2 | - 1.3.6.1.2.1.2.2.1.2 | ||
metrics: | metrics: | ||
- | - name: if_in_octets | + | - name: ifInOctets |
oid: 1.3.6.1.2.1.2.2.1.10 | oid: 1.3.6.1.2.1.2.2.1.10 | ||
type: counter | type: counter | ||
Line 301: | Line 322: | ||
oid: 1.3.6.1.2.1.2.2.1.2 | oid: 1.3.6.1.2.1.2.2.1.2 | ||
type: DisplayString | type: DisplayString | ||
- | - name: if_out_octets | + | - name: ifOutOctets |
oid: 1.3.6.1.2.1.2.2.1.16 | oid: 1.3.6.1.2.1.2.2.1.16 | ||
type: counter | type: counter | ||
Line 315: | Line 336: | ||
</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 334: | Line 359: | ||
target_label: instance | target_label: instance | ||
- target_label: __address__ | - target_label: __address__ | ||
- | replacement: server:9116 | + | replacement: localhost:9116 |
</code> | </code> | ||
Line 340: | Line 365: | ||
<code> | <code> | ||
- | rate(if_in_octets{ifDescr="FastEthernet1/1",ifIndex="3",instance="router",job="snmp"}[1m]) | + | rate(ifInOctets{ifDescr="FastEthernet1/1",ifIndex="3",instance="router",job="snmp"}[1m]) |
+ | или | ||
+ | rate(ifOutOctets{ifIndex="5",instance="router",job="snmp"}[1m]) | ||
- | 8*rate(if_in_octets{ifDescr="FastEthernet1/1",instance="router"}[1m]) | + | 8*rate(ifInOctets{ifDescr="FastEthernet1/1",instance="router"}[1m]) |
+ | или | ||
+ | 8*rate(ifOutOctets{ifDescr="Port-channel1",instance="router"}[1m]) | ||
</code> | </code> | ||
Line 354: | Line 383: | ||
</code><code> | </code><code> | ||
... | ... | ||
- | - job_name: 'Pushgateway' | + | - job_name: 'pushgateway' |
honor_labels: true | honor_labels: true | ||
static_configs: | static_configs: | ||
Line 382: | Line 411: | ||
</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> |