curl

Prometheus MySQL_exporter

∥☆過路亽.° 提交于 2020-11-02 08:17:04
MySQL Exporter mysqld_exporter 是用来搜集mysql的性能指标的,适用于mysql5.5及其以上版本 程序安装 下载地址: https://prometheus.io/download/#mysqld_exporter 安装mysqld_exporter tar -zxvf mysqld_exporter-0.11.0.linux- amd64.tar.gz mv mysqld_exporter -0.11.0.linux-amd64 /usr/local/mysqld_exporter 赋权 mysqld_exporter需要连接到Mysql,所以需要Mysql的权限,我们先为它创建用户并赋予所需的权限: CREATE USER ' exporter ' @ ' localhost ' IDENTIFIED BY ' abc123 ' WITH MAX_USER_CONNECTIONS 3 ; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO ' exporter ' @ ' localhost ' ; 创建.my.cnf文件 cd /usr/local/ mysqld_exporter cat << EOF > .my.cnf [client] user = exporter password

zabbix自定义监控nginx

微笑、不失礼 提交于 2020-11-01 05:34:31
nginx配置ngx_status 1.编译安装时带上--with-http_stub_status_module参数 2.vi nginx.conf location ~* ^/ ngx_status { stub_status on; access_log off; #allow 127.0 . 0.1 ; #deny all; } 3.检测nginx状态配置 #curl 127.0 . 0.1 / ngx_status Active connections: 1 server accepts handled requests request_time 235587 235587 1393175 83746941 Reading: 0 Writing: 1 Waiting: 0 编写zabbix客户端脚本 vi /usr/local/zabbix-agent/shell/nginx_check.sh #!/bin/ bash HOST = " 127.0.0.1 " PORT = " 80 " # 检测nginx进程是否存在 function ping { /sbin/ pidof nginx | wc - l } # 检测nginx性能 function active { /usr/bin/curl " http://$HOST:$PORT/ngx_status/ " 2 >

建议收藏!深度剖析RabbitMQ可靠性消息投递以及实践方案

非 Y 不嫁゛ 提交于 2020-10-31 18:59:30
一般而言,如果你选择RabbitMQ,那肯定就是把可靠性放在第一位。毕竟,RabbitMQ可是金融行业消息队列的标配。如果把性能放在第一位,那毫无疑问,必须是Kafka。但是,可靠性毕竟是相对的,就拿大火的阿里云,AWS云,或者传统的IBM小型机,Oracle数据库,没有谁敢说自己可靠性100%,都是说几个9。所以,本文的目的很明确,就是尽可能的提高我们RabbitMQ的可靠性,从发送、存储、消费、集群、监控、告警等多个维度给出可行性方案,指导开发者以及运维人员获取更加可靠的消息投递,保障我们的业务系统安全、可靠、稳定的运行。 数据可靠性是和RabbitMQ节点、生产者、消费者以及服务器等息息相关的。本文比较长,大概分为如下几个段落: 确认机制 生产者 消费者 队列镜像 告警 监控和Metrics 健康检查 如下是一张RabbitMQ架构图,本文对可靠性的分析,会涉及到架构图中的方方面面: 1. 确认机制 当连接出现问题的时候,在客户端和服务端之间的消息可能正在投递中,还没有被Broker接收,它们可能正在被编码或者解码,或者一些其他的情况。在这种场景下,消息并没有被投递,那么它们是需要被重新投递以保障业务稳定性。确认机制让服务端和客户端知道什么时候需要做这些事情,它对于生产者和消费者保障数据安全是非常重要的。 确认机制能被用在两个方向:允许消费者告诉服务器(Broker

PHP正确获取客户端IP地址

我的未来我决定 提交于 2020-10-31 06:00:28
现状 目前主流的函数方法: <?php function getIp() { if ($_SERVER["HTTP_CLIENT_IP"] && strcasecmp($_SERVER["HTTP_CLIENT_IP"], "unknown")) { $ip = $_SERVER["HTTP_CLIENT_IP"]; } else { if ($_SERVER["HTTP_X_FORWARDED_FOR"] && strcasecmp($_SERVER["HTTP_X_FORWARDED_FOR"], "unknown")) { $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } else { if ($_SERVER["REMOTE_ADDR"] && strcasecmp($_SERVER["REMOTE_ADDR"], "unknown")) { $ip = $_SERVER["REMOTE_ADDR"]; } else { if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown") ) { $ip = $_SERVER['REMOTE_ADDR']; } else { $ip =

Ubuntu环境下安装nodejs和npm

大憨熊 提交于 2020-10-31 02:04:40
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,其使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 Node.js 的包管理器 npm,是全球最大的开源库生态系统,功能及其强大。 这篇文章介绍如何在ubuntu环境下安装node环境。 我使用的系统是ubuntu 16.04,不过在其他版本的系统中应该也适用。 安装python-software-properties 首先需要安装依赖包python-software-properties。 $ sudo apt-get install python-software-properties 添加PPA 网站deb.nodesource.com维护了nodejs的各版本安装包的PPA,我们可以从该网站上下载执行导入。 $ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - 如果提示没有安装curl,需要先安装curl。 当前6.x版本为比较稳定的版本,我们可以根据自己的需要选择安装不同的版本。 安装nodejs和npm 接下来安装nodejs,安装完成之后npm也自动安装好了。 $ sudo apt-get install nodejs 安装完成之后我们查看一下nodejs和npm的版本。 $ node -v

Linux企业实战-----LVS+keepalived负载均衡集群

南笙酒味 提交于 2020-10-30 17:02:28
用LVS实现负载均衡 实现步骤: #若在虚拟环境中需执行此步骤创建两个新的虚拟机,VMWARE可忽略此步骤 真实主机: cd /var/lib/libvirt/images/ ls qemu-img create -f qcow2 -b rhel7.6.qcow2 server3 qemu-img create -f qcow2 -b rhel7.6.qcow2 server4 server1: pcs cluster disable --all pcs cluster stop --all systemctl status pcsd systemctl disable --now pcsd ssh server2 disable --now pcsd ssh server2 systemctl disable --now pcsd server3: hostnamectl set-hostname server3 cd /etc/yum.repos.d/ vim dvd.repo yum install httpd systemctl enable --now httpd systemctl start httpd cd /var/www/html/ echo vm3> index.html ip addr add 172.25.19.100/24 dev eth0 yum

libcurl Linux移植ARM

孤者浪人 提交于 2020-10-30 16:05:03
1.下载libcurl库 地址: https://curl.haxx.se/download/ 下载后解压:unzip curl-x.xx.x.zip 2.交叉编译 在Linux中通过你自己所对应的交叉编译工具链进行编译;我这里对应的是arm-fsl-linux-gnueabi-gcc;具体步骤如下: 命令:./configure --prefix=/目标路径 --host=arm-none-linux CC=arm-fsl-linux-gnueabi-gcc CXX=arm-fsl-linux-gnueabi-gcc++ 结束后:make make结束后:make install 3.查看目标路径是否生成以下文件,生成则交叉编译成功; 4. 移植到ARM 直接将Curl文件夹压缩,拷贝到ARM开发板 5.设置环境变量 生成的lib文件夹下有一个libcurl.so.4文件需要将该文件的路径添加到环境变量中; 来源: oschina 链接: https://my.oschina.net/u/4392473/blog/4695738

Linux工具

若如初见. 提交于 2020-10-28 13:18:03
Linux工具 Linux下还是有很多超棒的开发工具的。 在Linux日常使用中,最常用的命令自然是sudo, ls, cp, mv, cat等,但作为后台开发者,上述命令远远不够。从我的理解来看,合格的C/C++开发者至少需要从开发及调试工具、文件处理、性能分析、网络工具四个方面针对性使用一些开发工具。这里我罗列了一些,大部分都是开发中经常需要使用的命令,有些功能比较简单的命令我会给出一些基本用法,有些本身自带体系(比如vim, gdb等)的命令只能附上链接了。 开发及调试工具介绍了从“编辑 -> 编译 -> 分析目标文件 -> 追踪调用过程”的全套命令,文件处理部分介绍了查找、统计、替换等基本文本操作命令,性能分析介绍了查看进程信息、CPU负载、I/O负载、内存使用情况等基本命令,网络工具介绍了可以查看“链路层 -> 网络层 -> 传输层 -> 应用层”信息的工具。除此以外,其他命令中也列出了开发者经常会用到的一些命令,基本可以满足日常开发需要。 目录 Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 开发及调试 文件处理 性能分析 网络工具 其他 开发及调试 编辑器:vim 编译器:gcc/g++ 调试工具:gdb 查看依赖库:ldd 二进制文件分析:objdump ELF文件格式分析:readelf 跟踪进程中系统调用

php url微信支付宝返回为空,状态码:58,原因支付密钥文件不存在

好久不见. 提交于 2020-10-28 03:03:57
企业支付到个人,手动是正常的,任务就不行,最后排查,后台上传证书和私钥的pem文件处理不对,curl一直出现58的错误, 网上的解决方法都是路径使用绝对路径或者在微信商户号管理里进行更改证书, 检查路径发现没错,更改证书也改了,xml数据和url也没问题, 之后使用curl_getinfo($ch)查看错误,cert相关字段为0, 于是转回检查curl参数,我将证书和私钥两个参数名都写成CURLOPT_SSLCERT,改正后可退款成功。 这里首先出现错误实在找不到原因了去找代码书写上的错误, 其次调试时找到正确的调试方法。 来源: oschina 链接: https://my.oschina.net/u/4288740/blog/4512151

python2.7监控flume

自闭症网瘾萝莉.ら 提交于 2020-10-27 09:53:11
由于工作需要,写了python2.7监控flume的功能,下面是干货,希望能帮到大家 #!/usr/bin/env python - - coding: utf-8 - - import datetime,os,sys,time,socket,urllib,json,urllib2,sys import requests #模拟curl http://ip:port/metrics,这里启动时定义是41415,默认是41414 def comm(ip,port,type): url=" http://%s:%s/metrics " %(ip,port) req=urllib2.Request(url) res=urllib2.urlopen(req).read() j=json.loads(res) sink = j["%s"%type]["EventDrainSuccessCount"] return sink sink4_42 = comm("10.1.1.42","41415","SINK.sink4") sink4_43 = comm("10.1.1.43","41415","SINK.sink4") sink4_44 = comm("10.1.1.44","41415","SINK.sink4") sink4_45 = comm("10.1.1.45","41415",