Promenade, outil de suivi, est basé sur le processus de service de suivi process-exportateur

Introduction de fond

  • Étant donné que notre node_exporter couramment utilisé ne couvre pas tous les éléments de surveillance, nous devons souvent surveiller le processus d'un certain programme dans l'environnement de production pour déterminer si l'entreprise est normale, c'est pourquoi Process-exporter a vu le jour.
  • L'exportateur de processus est utilisé pour surveiller les processus dans prometheus. Grâce à process_exporter, l'état d'exécution de l'application peut être surveillé d'un point de vue macro (comme le contrôle des ressources de processus de redis, mysql, etc.).

déployer

1. Téléchargez le plug-in de surveillance

wget https://github.com/ncabatoff/process-exporter/releases/download/v0.7.5/process-exporter-0.7.5.linux-amd64.tar.gz

2. Décompressez et configurez

Décompressez

cd /usr/local/src
tar -xf process-exporter-0.7.5.linux-amd64.tar.gz
mv process-exporter-0.7.5.linux-amd64 process-exporter
chown -R root:root /usr/local/src/process-exporter

Modifiez le fichier de configuration (reportez-vous à la ligne 80 du fichier README.md). La méthode de
Insérez la description de l'image ici
process_exporter consiste à configurer le nom du processus à surveiller. Il recherchera le processus pour obtenir les informations de surveillance dont il a besoin. En fait, c'est ce que nous faisons souvent à la commande "ps -efl" | grep xxx "pour visualiser le processus correspondant. Le fichier de configuration n'existe pas au début, nous devons le créer et le nom peut être personnalisé:

  • Remarque: si un processus correspond à plusieurs correspondances, il n'appartiendra qu'au premier nom de groupe correspondant.
    Parmi eux, il existe quatre options de nom (traduction officielle https://github.com/ncabatoff/process-exporter):
    { {. Comm} } contient le nom de base du fichier exécutable d'origine, c'est-à-dire que le deuxième champ / proc // stat
    { {.ExeBase}} contient le nom de base du fichier exécutable
    { {.ExeFull}} contient le chemin complet du fichier exécutable
    { {.Username}} contient le nom d'utilisateur d'un utilisateur valide
    { {.Matches}} la carte contient toutes les correspondances générées par cmdline regexps

  • Explication supplémentaire: l'option de nom affecte en fait la clé: nom de groupe dans les métriques. Prenons comme exemple la surveillance du gardien de zoo et de kafka

touch process-name.yaml
vim process-name.yaml
process_names:
 - name: "{
    
    {.Matches}}"
    cmdline: 
    - '/u01/isi/application/component/zookeeper-3.4.10/bin/../zookeeper-3.4.10.jar'

 - name: "{
    
    {.Matches}}"
    cmdline: 
    - '/u01/isi/application/component/kafka_2.11-0.10.0.1/bin/../libs/kafka_2.11-0.10.0.1.jar'

3. Service start-stop

Remarque: paramètres de démarrage

-config.path    #process-name.yaml的配置文件路径
-web.listen-address   #blackbox_exporter监听的服务端口,默认为9256
cd /usr/local/src/process-exporter      #进入blackbox_exporter的目录
mkdir logs   							#创建日志目录
nohup ./process-exporter  -config.path="process-name.yaml"  -web.listen-address=":9256">> logs/process-exporter.log 2>&1 &   #启动服务
netstat -tanlp | grep 9256   									 #查看监听端口
ps -ef |grep process-exporter |grep -v grep |awk '{print $2}' | xargs kill -9  #停止服务

4. Ajouter une configuration dans Prometheus

1) Ecrire le fichier fd_config
touch zk_kafka.json
vim zk_kafka.json
[
        {
    
    
                "labels": {
    
    
                        "desc": "zk node",
                        "group": "zk_process",
                        "host_ip": "192.168.16.113",
                        "hostname": "isi-16-113"
                },
                "targets": [
                        "192.168.16.113:9256"
                ]
},
        {
    
    
                "labels": {
    
    
                        "desc": "kafka node",
                        "group": "kafka_process",
                        "host_ip": "192.168.16.113",
                        "hostname": "isi-16-113"
                },
                "targets": [
                        "192.168.16.113:9256"
                ]
}
]
2) Ajouter la configuration dans Prometheus.yml
...
...
  - job_name: 'zk_kafka-process'
    scrape_interval: 2m
    scrape_timeout: 120s
    static_configs:
    file_sd_configs:
      - files:
        - /home/monitor/prometheus/conf.d/zk_kafka.json

5. Vérifiez la configuration et rechargez le service

cd /usr/local/src/prometheus/
./promtool check config prometheus.yml                  #检查配置文件是否正确
 curl -XPOST http://192.168.16.115:9090/-/reload        #重载服务

Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/weixin_44729138/article/details/114438177
conseillé
Classement