“Print和return”与“Process-exporter”:页面之间的差异

来自linuxsa wiki
(页面间差异)
跳转到导航 跳转到搜索
Evan留言 | 贡献
导入1个版本
 
Evan留言 | 贡献
 
第1行: 第1行:
=print on ipython=
 
=down and inst=
<pre>
<pre>
In [38]: def printh(name,sex):
    ...:    sex_dict = {1:u'先生',2: u'女士'}
    ...:    print 'hello %s %s, welcome to python world!' %(name,sex_dict.get(sex
    ...: ,u'先生'))
    ...:


In [39]: printh('evan',1)
#rpm
hello evan 先生, welcome to python world!
https://github.com/ncabatoff/process-exporter/releases/download/v0.7.10/process-exporter_0.7.10_linux_amd64.rpm
 
 
#Deb
https://github.com/ncabatoff/process-exporter/releases/download/v0.7.10/process-exporter_0.7.10_linux_amd64.deb
 
 
wget  -c https://github.com/ncabatoff/process-exporter/releases/download/v0.7.5/process-exporter-0.7.5.linux-amd64.tar.gz
# wget  -c https://github.com/ncabatoff/process-exporter/releases/download/v0.5.0/process-exporter-0.5.0.linux-amd64.tar.gz
 
 
#if rpm
vi /etc/process-exporter/all.yaml
 
process-exporter]# pwd
/data/apps/process-exporter
[root@prod-sns-mq01 process-exporter]# cat process-name.yaml
process_names:
  - name: "{{.Matches}}"
    cmdline:
    - 'redis'
 
  - name: "{{.Matches}}"
    cmdline:
    - 'nuxt'
 
 
./process-exporter -config.path process-name.yaml &
 
 
#!/bin/bash
./process-exporter -config.path process-name.yaml & > process-exporter.log
 
 
curl http://localhost:9256/metrics
 
 
启动脚本
 
cat  /etc/systemd/system/process-exporter.service
[Unit]
Description=process-exporterr
After=network.target
Wants=network-online.target
 
[Service]
Type=simple
User=root
ExecStart=/data/apps/process-exporter/process-exporter  -config.path /data/apps/process-exporter/process-name.yaml
 
Restart=on-failure
LimitNOFILE=65536
 
[Install]
WantedBy=multi-user.target
 
systemctl  enable  process-exporter
systemctl  start  process-exporter  && systemctl  status    process-exporter
 
 
</pre>
</pre>
=return =
 
=配置 =
<pre>
<pre>
如果这个function写在脚本里面执行呢  其实是什么都没有输出的,必定要使用return哦 哈哈 
 
这个是在 安装了 process-exporter的机器上
Process-Exporter的做法是配置需要监控的进程的名称,他会去搜索该进程从而得到其需要的监控信息, 其实也就是我们常做的“ps -efl | grep xxx”命令来查看对应的进程。配置文件一开始是不存在的,需要我们创建,名字可以自定义:
 
 
这个配置是在 prometheus机器上
现在,我们需要去配置Prometheus来采集这份数据了,和其他配置一样,就是给Prometheus添加一份数据源:
  - job_name: 'snsweb2-process'
    static_configs:
    - targets: ['12.41.11.20:9256']
 




#!/usr/bin/python
#-*- coding:utf-8 -*-
def printhe(name,sex):
    sex_dict = {1:u'先生',2:u'女士'}
    #return  print 'hello %s %s, welcome to python world!' %(name,sex_dict.get(sex,u'先生'))
    mylove= 'hello'+' '+name + '' + sex_dict.get(sex,u'先生')+','+'welcome to python world!'
    return mylove
   
print printhe('evan',1)
</pre>
</pre>


=解决过程=
=see also=
一开始直接写到脚本里面执行,搞了半天,后来想到return 看到别人 str连接,于是灵机一动,终于去年print 而直接return str搞定喽
 
当然 也是我基础不够的原因吧 虽然两个小伙伴也是不会  果真要多动手,好过看一堆书,一开始是想解决位置参数的问题的 哈哈
[https://www.jianshu.com/p/6a7511004766 Prometheus监控进程状态(Process-Exporter)]
 
[https://blog.csdn.net/u012599988/article/details/102929269 Grafana+Prometheus+Process-exporter/node_exporter监控服务进程(三)]


=参考=
[https://www.cnblogs.com/huandada/p/10431667.html Prometheus — Process-exporter进程监控 ]
[http://www.cnblogs.com/vamei/archive/2012/06/01/2529500.html Python基础07 函数]


[http://www.cnblogs.com/huangcong/archive/2011/08/29/2158268.html Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)]
[https://www.cnblogs.com/bigberg/p/10174222.html Prometheus 监控进程]


[[category:python]]
[[category:ops]] [[category:container]] [[category:prom]]

2022年1月4日 (二) 07:43的最新版本

down and inst

#rpm 
https://github.com/ncabatoff/process-exporter/releases/download/v0.7.10/process-exporter_0.7.10_linux_amd64.rpm


#Deb
https://github.com/ncabatoff/process-exporter/releases/download/v0.7.10/process-exporter_0.7.10_linux_amd64.deb


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


#if rpm 
vi /etc/process-exporter/all.yaml 

 process-exporter]# pwd
/data/apps/process-exporter
[root@prod-sns-mq01 process-exporter]# cat process-name.yaml 
process_names:
  - name: "{{.Matches}}"
    cmdline:
    - 'redis'

  - name: "{{.Matches}}"
    cmdline:
    - 'nuxt'


./process-exporter -config.path process-name.yaml &


#!/bin/bash
./process-exporter -config.path process-name.yaml & > process-exporter.log


curl http://localhost:9256/metrics


启动脚本

cat  /etc/systemd/system/process-exporter.service 
[Unit]
Description=process-exporterr
After=network.target
Wants=network-online.target

[Service]
Type=simple
User=root
ExecStart=/data/apps/process-exporter/process-exporter  -config.path /data/apps/process-exporter/process-name.yaml

Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

systemctl  enable  process-exporter
systemctl  start   process-exporter  && systemctl  status    process-exporter


配置

这个是在 安装了 process-exporter的机器上
Process-Exporter的做法是配置需要监控的进程的名称,他会去搜索该进程从而得到其需要的监控信息, 其实也就是我们常做的“ps -efl | grep xxx”命令来查看对应的进程。配置文件一开始是不存在的,需要我们创建,名字可以自定义:


这个配置是在 prometheus机器上
现在,我们需要去配置Prometheus来采集这份数据了,和其他配置一样,就是给Prometheus添加一份数据源:
  - job_name: 'snsweb2-process'
    static_configs:
    - targets: ['12.41.11.20:9256']



see also

Prometheus监控进程状态(Process-Exporter)

Grafana+Prometheus+Process-exporter/node_exporter监控服务进程(三)

Prometheus — Process-exporter进程监控

Prometheus 监控进程