运维和DevOps
文章平均质量分 67
linux,自动化运维,DevOps
luck_man911
每个人首先都应该有自己的方向
展开
-
使用 Grafana+collectd+InfluxDB 打造现代监控系统
想打造 New Relic 那样漂亮的实时监控系统我们只需要 InfluxDB/collectd/Grafana 这三个工具,这三个工具的关系是这样的:采集数据(collectd)-> 存储数据(InfluxDB) -> 显示数据(Grafana)。InfluxDB 是 Go 语言开发的一个开源分布式时序数据库,非常适合存储指标、事件、分析等数据,看版本号(v0.8.8)就知道这个项目还很年轻;collectd 就不用介绍了吧,C 语言写的一个系统性能采集工具;Grafana 是纯 Ja转载 2021-06-23 10:23:38 · 255 阅读 · 0 评论 -
linux查看磁盘io性能
1. 查看磁盘 IO 性能1.1 top 命令top 命令通过查看 CPU 的 wa% 值来判断当前磁盘 IO 性能,如果这个数值过大,很可能是磁盘 IO 太高了,当然也可能是其他原因,例如网络 IO 过高等。1.2 sar 命令sar 命令是分析系统瓶颈的神器,可以用来查看 CPU 、内存、磁盘、网络等性能。sar 命令查看当前磁盘性能的命令为:sar -d -p 1 2其中, “-d”参数代表查看磁盘性能,“-p”参数代表将 dev 设备按照 sda,sdb……名.转载 2021-03-16 09:56:35 · 3923 阅读 · 0 评论 -
Error:Connection activation failed: No suitable device found for this connection
1、问题现象centos重启后,网络连不上。service network restart后,提示网络无法正常启动。看启动日志提示:Connection activation failed: No suitable device found for this connection2、分析原因重启服务器之前是可以上网的,所以应该是某些服务被重置了。检查网络管理器service network statusservice NetworkManager status发现..原创 2021-01-19 15:02:35 · 12648 阅读 · 0 评论 -
美图全链路监控实战
一.摘要本文内容分为3部分,首先简单介绍了美图的业务背景和监控体系,然后是两个美图的监控实践----基于Grafana FlowCharting插件的「监控大盘」实战和基于基于GrafanaImageRender+企业微信机器人的「图文告警」实战。这两个监控实战都是非常容易落地的,基本是开箱即用,中间只涉及到非常少量的代码工作。本文除了介绍我们做相关技术选型时的一些考量,同时给出了两个实战完整的“step by step”的操作步骤,对于涉及到的少量代码工作,文中也给出了代码样例。希望这两个案例..转载 2020-11-26 10:22:40 · 3395 阅读 · 1 评论 -
linux 查看真实路径-软连接
命令:pwd -P说明:/data/autoDeploy为真实路径,home下的autoDeploy为软连接。pwd看到的是软连接的路径。原创 2020-09-15 17:13:09 · 11789 阅读 · 2 评论 -
docker使用国内仓库
一、概述docker的官方镜像地址是:https://hub.docker.com/在国内拉取镜像时经常比较慢,一个mysql要几分钟,或者十几分钟。二、使用方法新建配置文件:/etc/docker/daemon.json,加入以下内容:{ "registry-mirrors": ["http://hub-mirror.c.163.com"]}当然可以使用国内其他的镜像地址,https://registry.docker-cn.comhttp://hub-m.原创 2020-09-06 22:55:02 · 9612 阅读 · 0 评论 -
centos7 安装 openssl和openssl升级
一、环境centos7,openssl-1.1.1g.tar.gz二、安装1、下载最新版本:https://mirrors.cloud.tencent.com/openssl/source/2、三、问题原创 2020-07-14 10:50:43 · 2378 阅读 · 0 评论 -
webp环境搭建和使用过程
一、定义二、java转换webp三、linux,windows中webp处理原创 2020-07-13 17:38:12 · 1795 阅读 · 0 评论 -
iostat查看服务器io
iostat 查看服务器实时io说明:cpu属性值说明:%user:CPU处在用户模式下的时间百分比。%nice:CPU处在带NICE值的用户模式下的时间百分比。%system:CPU处在系统模式下的时间百分比。%iowait:CPU等待输入输出完成时间的百分比。%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。%idle:CPU空闲时间百分比。备注:如果%iowait的值过高,表示硬盘存在I/O瓶颈如果%idle值高,表示C原创 2020-06-23 01:19:36 · 379 阅读 · 0 评论 -
zabbix监控nginx连接数
一、nginx配置配置locationlocation /nginx_status { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; stub_status on; access_log off;原创 2020-06-02 10:27:32 · 655 阅读 · 0 评论 -
keepalived原理和安装
keepalived原理和安装原创 2020-05-29 02:58:50 · 459 阅读 · 0 评论 -
inotify+rsync实时双向同步文件
inotify--bwlimit=200用于限制传输速率最大200kb,因为在实际应用中发现如果不做速率限制,会导致巨大的CPU消耗。inotify_fun(){ /usr/bin/inotifywait -mrq --timefmt '%Y/%m/%d-%H:%M:%S' --format '%T %w %f' \ --exclude ${INOTIFY_EXCLUDE} -e modify,delete,create,move,attrib ${source_pa原创 2020-06-09 23:44:43 · 751 阅读 · 1 评论 -
网卡绑定多ip
网卡配置文件位置:这里配置ifcfg-em1,使用IPADDR0,IPADDR1实现,配置如下TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-pri原创 2020-05-24 17:06:35 · 392 阅读 · 0 评论 -
docker(二)基本操作
1、安装docker2、docker运行应用程序3、进入应用程序容器4、docker重启应用程序5、退出docker原创 2020-05-27 16:13:49 · 302 阅读 · 0 评论 -
linux命令(一)查看进程的线程数top,ps
1、ps -T -p <pid>ps -T -p 116115|wc -l2、top -H -p 116115查看进程的线程使用率3、pstree -p 116115|wc -l原创 2020-05-19 01:31:02 · 1963 阅读 · 0 评论 -
互联网常用系统监控工具
监控是整个运维乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供详实的数据用于追查定位问题。目前业界有很多不错的开源产品可供选择。选择一款开源的监控系统,是一个省时省力、效率最高的方案。当然,对监控不是很明白的朋友们,看了以下文章可能会对监控整个体系有比较深刻的认识。一、监控目标每个人由于所在的行业、公司、业务、岗位不同,对监控的理解也不尽相同,但是我们需要注意,监控是需要站在公司的业务角度去考虑,而不是针对某个监控技术的使用。对系统不间断的实时监控:实际上是对系统不间断.转载 2020-05-13 09:54:27 · 2726 阅读 · 0 评论 -
linux账户安全
1、禁用root用户ssh登录需要编辑/etc/ssh/sshd_config。vim /etc/ssh/sshd_config 找到PermitRootLogin改为PermitRootLogin no重启 service sshd restart2、取消用户的sudo密码输入2.1新增用户 admin2.2修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:vim /etc/sudoers## Allow root...原创 2020-05-12 10:09:02 · 174 阅读 · 0 评论 -
linux 查看各个cpu使用率
top,然后按数字1:原创 2020-05-11 00:10:52 · 617 阅读 · 0 评论 -
高德服务单元化方案和架构实践
导读:本文主要介绍了高德在服务单元化建设方面的一些实践经验,服务单元化建设面临很多共性问题,如请求路由、单元封闭、数据同步,有的有成熟方案可以借鉴和使用,但不同公司的业务不尽相同,要尽可能的结合业务特点,做相应的设计和处理。一、为什么要做单元化单机房资源瓶颈随着业务体量和服务用户群体的增长,单机房或同城双机房无法支持服务的持续扩容。服务异地容灾异地容灾已经成为核心服务的标配,有...转载 2020-05-08 15:36:23 · 370 阅读 · 0 评论 -
微服务部署:蓝绿部署、滚动部署、灰度发布、金丝雀发布
目前有很多用于部署的技术,有的简单,有的复杂;有的得停机,有的不需要停机即可完成部署。本文的目的就是将目前常用的布署方案做一个总结。一、蓝绿布署Blue/Green Deployment(蓝绿部署)1、定义蓝绿部署是不停老版本,部署新版本然后进行测试,确认OK,将流量切到新版本,然后老版本同时也升级到新版本。1、特点蓝绿部署无需停机,并且风险较小。2、布署过程第...转载 2020-05-08 15:24:40 · 343 阅读 · 0 评论 -
蚂蚁金服蓝绿发布实践
什么是蓝绿发布蓝绿发布(Blue Green Deployment)是一种平滑过渡的发布模式。蓝绿发布的操作模式上,首先依赖于能够将全站应用划分为对等的A、B两个单元,A先发布新产品代码并引入少许用户流量,B继续运行老产品代码;如果新代码A经线上运行观察没有迹象表明有问题,或者用户行为对A中的变化没有特别的反馈,那么逐步引入更多用户流量,直至所有用户都访问...转载 2020-05-08 15:17:17 · 584 阅读 · 0 评论 -
Linux-Can't create socket: Too many open files
一、问题在使用redis-benchmark进行redis基准测试时,模拟了10万的客户端请求,然后报错提示:Can't create socket: Too many open files二、原因linux系统默认open file是1024,程序打开的文件/socket连接数量超过系统设定值。可以用命令查看:ulimit -a,如下图三、解决方法临时生效方法:...原创 2020-05-03 02:31:39 · 1709 阅读 · 0 评论 -
nohup
nohupnohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。nohup 是 no hang up 的缩写,就是不挂断的意思。nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时...转载 2020-04-29 18:30:18 · 330 阅读 · 0 评论 -
Linux常用文件拷贝方式:scp,rsync,expect
方式1: scp该协议采用的是ssh端口,所以如果ssh端口不是默认的22,则要按实际参数使用。格式:scp -P 25569wxapp-deploy.sh root@192.168.1.107:/home/免密将rsa公钥拷贝到客户机方式2:expect机器需要先安装expect。该种方式可以用于文件服务器分发文件给客户机。#!/usr/bin/expect...原创 2019-11-02 17:05:59 · 292 阅读 · 1 评论 -
rm 使用正则表达式 删除文件
1、rm 使用正则表达式 删除文件:ls|grep -E "prodmabyuser.*-155[0-9]{10}\.jpg"|xargs rm 2、获取最新修改时间的一个文件ls -lt|grep 'wxapp[0-9]*\.zip'|head -1|awk '{print $8}'...原创 2019-11-01 14:36:05 · 8754 阅读 · 2 评论 -
shell let命令
shell let命令未完待续。。。。。。。原创 2017-07-18 16:43:27 · 766 阅读 · 0 评论 -
shell脚本文件中ll提示找不到命令
test.sh脚本:jar_file=`ll $jar_path|grep jar|awk '{print $9}'`提示ll commend not found改为用ls -l:jar_file=`ls -l $jar_path|grep jar|awk '{print $9}'`ll是ls -l 的 别名。原创 2017-07-18 14:32:00 · 13360 阅读 · 0 评论 -
遍历目录和子目录中的文件
脚本代码如下:#!/bin/bashfunction getdir(){ for element in `ls $1` do dir_or_file=$1"/"$element if [ -d $dir_or_file ] then getdir $dir_or_file else原创 2017-07-18 14:02:07 · 311 阅读 · 0 评论 -
kill -9 和 kill -15 的区别
kill -9 [pid]kill -15 [pid]建议做法:先使用kill -15,然后再使用kill -9原创 2017-07-18 13:43:06 · 2349 阅读 · 0 评论 -
grep 用法
选项说明-c只显示有多少行匹配,而不具体显示匹配的行。-h不显示文件名。-i在字符串比较的时候忽略大小写。-l只显示包含匹配模板的行的文件名清单。-L只显示不包含匹配模板的行的文件名清单。-n在每一行前面打印该行在文件中的行数。-v原创 2017-07-18 10:38:44 · 353 阅读 · 0 评论 -
shell 函数返回值
Shell函数返回值,常用的两种方式:return,echo,可以通过$? 获取返回值。1、return 语句该返回方法有数值的大小限制,超过255,就会从0开始计算,所以如果返回超过255,就不能用这种方式,建议采用echo输出。#!/bin/sh function test() { echo "arg1 = $1" if [ $1 = "1" ]原创 2017-07-18 09:58:07 · 24572 阅读 · 0 评论 -
shell中 if条件的格式要求
注意的几点:1、if和[ ]之间要空格。2、[ ]和“ ”之间要空格3、“ ”和=之间要空格,否则都会报错。getServerPort(){ if [ $1 = "server1" ];then return "19010" else return "29010"fi}转载 2017-07-18 09:37:24 · 1381 阅读 · 0 评论 -
shell中的特殊变量
shell中的特殊变量:$0:当前脚本的文件名$num:num为从1开始的数字,$1是第一个参数,$2是第二个参数,${10}是第十个参数$#:传入脚本的参数的个数$*:所有的位置参数(作为单个字符串) $@:所有的位置参数(每个都作为独立的字符串)。$?:当前shell进程中,上一个命令的返回值,如果上一个命令成功执行则$?的值为0,否则为其他非零值,常用做if语句条件原创 2017-07-18 00:15:41 · 205 阅读 · 0 评论 -
禁止控制台打印日志
nohup java -jar myapp.jar --spring.config.location=application.yml > /dev/null2>&1 &/dev/null2>&1 & 标准正确输出和标准错误输出 都不打印到控制台原创 2017-07-17 17:56:06 · 5181 阅读 · 0 评论 -
nginx react vue location history 配置
1、当location配置root时会自动把location追加到后面,如前端代码static等代码放在/data/www/abc/下面则location配置为:location /abc/ { root /data/www/; }root /data/www/abc/; 配置是错误的。2、由于多个前端项目放在同一个域名下,所以locat...原创 2020-03-20 00:07:30 · 294 阅读 · 0 评论 -
gitlab 汉化后502
环境版本:GitLab 社区版11.4.5 , linux centos 7.4gitlab 汉化后,启动提示502错误,无法进入仓库。解决方法:先启动,然后重新配置,命令如下:(1)gitlab-ctl start(2)gitlab-ctl reconfigure其他参考命令:gitlab-ctl restartgitlab-ctl status...原创 2019-11-05 17:41:03 · 1631 阅读 · 5 评论 -
zabbix修改tomcat监控端口
zabbix有很多默认的监控模板,但是端口号都是默认的,比如8080,8443。这些我们可以通过修改监控主机的宏来改变。比如:{$PROTOCOL_HANDLER_HTTP},把8080端口改为监控8090端口,同时修改了正确的协议。...原创 2019-11-17 08:12:10 · 955 阅读 · 0 评论 -
天兔数据库监控系统
官方页面:http://www.lepus.cc/ Lepus(天兔)数据库企业监控系统是一套由专业DBA个人(目前就职于某互联网公司),针对互联网企业开发的一款专业、强大的企业数据库监控管理系统,企业通过Lepus可以对数据库的实时健康和各种性能指标进行全方位的监控。目前已经支持MySQL、Oracle、MongoDB、Redis数据库的全面监控. Lepus可以在数据库出现故障或者潜在...原创 2017-05-11 10:06:14 · 325 阅读 · 0 评论 -
Wireshark初步入门
https://www.cnblogs.com/xianyue/p/7123711.html为了能让Wireshark得到一些数据包,你可以开始你的第一次数据包捕获实验了。你可能会想:“当网络什么问题都没有的时候,怎么能捕获数据包呢?”首先,网络总是有问题的。其次,做数据包分析并不一定要等到有问题的时候再做。事实上,大多数的数据包分析员在分析没有问题的网络流量上花的时间要比解决问题的时候多。为了能...转载 2018-06-21 10:16:28 · 1733 阅读 · 0 评论 -
wireshark抓包分析 --https
https://blog.csdn.net/u010726042/article/details/53408077SSL协议栈位置介于TCP和应用层之间,分为SSL记录协议层和SSL握手协议层。其中SSL握手协议层又分为SSL握手协议、SSL密钥更改协议和SSL警告协议。SSL握手协议作用是在通信双方之间协商出密钥,SSL记录层的作用是定义如何对上层的协议进行封装。SSL记录协议将数据块进行拆分压...转载 2018-06-21 10:18:01 · 1112 阅读 · 0 评论