Zabbix-03-自定义图像+自定义模板
自定义图像grafana 安装grafana 安装zabbix插件,启动插件 数据源–zabbix数据源 导入模板
划分应用集
查看负载图
自带的饼图乱码,并且很丑
乱码原因:/usr/share/zabbix/assets/fonts/graphfont.ttf 文件默认不支持中文
解决方法:
1.从C:\Windows\Fonts 中复制喜欢的字体到桌面,然后丢到上面目录
2.改名 #mv STKAITI.TTF graphfont.ttf
效果:
自定义图
正常(线图)、层积(柱状图)、pie(饼图)、爆发
grafana自定义图形安装到清华源中下载
wget https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/grafana-6.7.3-1.x86_64.rpm
rpm -ivh grafana-6.7.3-1.x86_64.rpm
启动systemctl start grafana-server.service
systemctl enable grafana-server.service
查看、访问端口(3 ...
Zabbix-02-监控项+触发+报警
自定义监控项(服务监控)命令行,手动取值12345iostat |awk ' $1 ~/sda/'sda 7.52 9.81 141.25 689991 9933268iostat |awk ' $1 ~/sda/{print $2}'7.52
修改zabbix-agent配置文件1234vim /etc/zabbix/zabbix_agentd.conf UserParameter=sda_tpsiostat |awk '$1 ~/sda/{print $2}'
1systemctl restart zabbix-agent.service
zabbix-server测试监控项取值安装zabbix_get
1yum install zabbix-get
或
1rpm -ivh https://mirror.tuna.tsinghua.edu ...
高可用-Keepalived
全局定义(globaldefinnition)这一部分用来设置keepalived的故障通知机制和RouterID标识。
12345678910!Configuration File for keepalivedglobal_defs { notification-email [xxx@qq.com](mailto:xxx@qq.com) #需要抵达的邮箱地址 [xxx@hotmail.com](mailto:xxxx@hotmail.com) #需要抵达的邮箱地址} notification_email_from [xxx@qq.com](mailto:xxx@qq.com) #用于发送的邮箱 smtp_server smtp.qq.com #stmp服务器 smtp_connect_timeout 30 #设置超时时间 router_id LVS_DEVEL #keepalived路由标识(router_id)。在统一局域网内,这个标识应该是唯一的。
大括号“{ ...
Zabbix-01-介绍+部署
前言什么是监控,为什么需要监控监控:监视,控制
随着用户的增多,服务随时可能会被系统oom out of memory 内存溢出 kill -9 mysql
你怎么判断,web服务是因为用户访问过多,达到了瓶颈?还是程序代码bug导致的,内存过多?上线一个新网站: 压力测试 2000并发
常见的linux监控命令
http://man.linuxde.net/par/3
free
df
top
htop(epel)
uptime
iftop
iostat
iotop
vmstat
netstat
nethogs
总结:cpu,内存,硬盘,网络
使用shell脚本来监控服务器内存:每隔1分钟监控一次内存,当你的可用内存低于100m,发邮件报警,要求显示剩余内存值
12345678910#!/bin/bash while true do Free=`free -m | awk 'NR==2{print $NF}'` if [ $Free -lt 100 ] then echo $Free | mail -s "当前内存& ...
网站服务-Nginx-反向代理+负载均衡
ngx_http_proxy_moduleproxy_pass URLContext: location, if in location, limit_except
注意:
如果proxy_pass使用了URI(下面例子中127.0.0.1地址后面部分,包括只有斜杠的情况),请求路径与loction路径的匹配部分将被替换为proxy_pass中定义的URI:
123location /name/ { proxy_pass http://127.0.0.1/remote/;}
2.如果proxy_pass没有使用URI,发给被代理服务器的请求路径和客户端发情的请求路径相同,不会被修改。
123location /some/path/ { proxy_pass http://127.0.0.1; }
特殊情况:
1.location使用正则表达式定义路径。这种情况下,指令不应该带有URI。
2.使用rewrite指 ...
负载均衡-HAProxy
简介HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。
HAProxy 实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户端(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。
HAProxy 支持连接拒绝 : 因为维护一个连接的打开的开销是很低的,有时我们很需要限制攻击蠕虫(attack bots),也就是说限制它们的连接打开从而限 ...
负载均衡-LVS
集群和分布式系统性能扩展方式:
ScaleUP: 垂直扩展,向上扩展,增强,性能更强的计算机运行同样的服务
ScaleOut:水平扩展,向外扩展,增加设备,并行地运行多个服务调度分配问题,Cluster
垂直扩展不再提及:
随着计算机性能的增长,其价格会成倍增长
单台计算机的性能是有.上限的,不可能无限制地垂直扩展
多核CPU意味着即使是单台计算机也可以并行的。那么,为什么不一开始就并行化技术?
集群ClusterCluster:集群,为解决某个特定问题将多台计算机组合起来形成的单个系统
Cluster分为三种类型:
LB: Load Balancing, 负载均衡,多个主机组成,每个主机只承担一部分访问请求
HA: High Availiablity, 高可用,避免SPOF (single Point Of failure)
MTBF:Mean Time Between Failure平均无故障时间,正常时间
MTTR:Mean Time To Restoration ( repair)平均恢复前时间,故障时间
A=MTBF/ (MTBF+MTTR) (0,1): 99% ...
网站服务-Nginx-基础
性能影响互联网存在用户速度体验的1-3-10原则,即1秒最优,3-10秒比较慢,10秒以上用户无法接受。用户放弃一个产品的代价很低,只是换一个URL而已。
影响用户体验的几个因素
客户端硬件配置
客户端网络速率
客户端与服务端距离
服务端网络速率
服务端硬件配置
服务端架构设计
服务端应用程序工作模式
服务端并发数量
服务端响应文件大小及数量
服务端I/0压力
服务端I/OI/O在计算机中指Input/Output,IOPS (Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。IOPS是指的是在单位时间内系统能处理的I/O请求数量,一般以每秒处理的I/O请求数量为单位,I/0请求通常为读或写数据操作请求。
一次完整的I/O是用户空间的进程数据与内核空间的内核数据的报文的完整交换过程,但是由于内核空间与用户空间是严格隔离的,所以其数据交换过程中不能由用户空间的进程直接调用内核空间的内存数据,而是需要经历一次从内核空间中的内存数据copy到用户空间的进程内存当中,所以简单说一次I/O就是把数据从内核空间中的内存数据复制到用户空 ...
杂项
经验预防误执行rm -rf /*
rm -rf删除目录是要判断目录
12345678#!/bin/bashwork_path=`pwd`#如果目录不为空,才执行删除操作if [ ${work_path} != "" ];then rm -fr ${work_path}/*fi
在执行删除目录操作前,先判断要删除的目录是否为空,不为空才执行删除操作。
Shell脚本指定 set -u
执行脚本的时候,如果遇到不存在的变量,Bash 默认忽略它。
123#!/bin/bashecho $aecho hello
上面代码中,$a 是一个不存在的变量,执行结果如下。
123$ bash test.shhello
可以发现,echo $a 输出了一个空行,Bash 忽略了不存在的 $a,然后继续执行 echo hello。
最好是遇到变量不存在,脚本应该报错,而不是一声不响地往下执行。
set -u 就用来改变这种行为,在脚本加上它,遇到不存在的变量就会报错,并停止执行。
12345#!/bin/bashset -urm -r ...
网站架构-LAMP
LAMP介绍
LAM(M)P:
L:linux A:apache (httpd)
M:mysql, mariadb M:memcached P:php, perl, python
WEB资源类型:
静态资源:原始形式与响应内容一致,在客户端浏览器执行
动态资源:原始形式通常为程序文件,需要在服务器端执行之后,将执行结果返回给客户端
Web相关语言
客户端技术: html,javascript,css
服务器端技术:php, jsp,python,asp
CGI
CGI:Common Gateway Interface
可以让一个客户端,从网页浏览器通过http服务器向执行在网络服务器上的程序传输数据;CGI描述了客户端和服务器程序之间传输的一种标准
请求流程:
Client – (http) –> httpd – (cgi) –> application server (program file)– (mysql) –> mysql
php: 脚本编程语言、嵌入到html中的嵌入式web程序语言基于zend编译成opcode(二进制格式的字节码 ...