Zabbix自动监控MySQL多实例配置
本人在工作中一般喜欢把MySQL、Redis、Memcached、MongoDB等数据库按照实例的方式对外提供服务。一般都是一台高配的服务器上开启多个实例给每个业务使用。而监控是重中之重,我自己也尝试了多种监控方式,但对我来说感觉最简单最快的就是使用zabbix了,灵活定义key。 由于我是多实例,所以就需要用到zabbix的自动发现功能(LLD)。基本处理……
Shell版俄罗斯方块
网上大神的作品,Shell版本俄罗斯方块。运行结果如下: 可以说是非常屌,可以看看大神的代码,如下: #!/bin/bash # Tetris Game # 10.21.2003 xhchen<[email]xhchen@winbond.com.tw[/email]> #APP declaration……
JVM运行原理及Stack和Heap的实现过程
Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是0,1二进制程序),然后在OS之上的Java解释器中解释执行,而JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。 一、JVM原理 1. JVM简介 JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种利用……
Ansible第七篇:动态Inventory
Ansible Inventory实际上是包含静态Inventory和动态Inventory两部分,静态Inventory指的是在文件/etc/ansible/hosts中指定的主机和组,动态Inventory指通过外部脚本获取主机列表,并按照ansible所要求的格式返回给ansilbe命令的。这部分一般会结合CMDB资管系统、zabbix监控系统、cro……
使用Python操作Zabbix Api
众所周知,zabbix是一款强大的分布式监控系统,集各家所长于一体,得到了广大SA的认可。其强大的管理界面也极其方便,但是美中不足的是,如果同时有大批量(50台+)的服务器需要添加监控时,这时,其图形界面反而显得有些臃肿了,好在zabbix提供了一套强大的API管理接口,我们可以使用它快速地添加或删除成千上万台服务器了。 下面的流程图代表了Zabbix AP……
Linux不得不知道的十个系統进程
前言 在日常运维工作中,经常会看到一些奇怪的系统进程占用资源比较高。而且总是会听到业务线同学询问“xxx这个是啥进程啊?咋开启了这么多?” 而这些系统级的内核进程都是会用中括号括起来的,它们会执行一些系统的辅助功能(如将缓存写入磁盘);无括号的进程都是用户们执行的进程(如php、nginx等)。 如下图所示: 下面就为大家普及10个比……
Shell多进程实现
一、前言 在业务开发过程中,经常会在后台写一些shell脚本处理数据,但估计很多人不知道shell脚本也可以支持多进程,而且非常简单。本篇文章主要就是介绍shell实现多进程以及进程数量控制。 二、需求 为了更好的说明问题,我们结合例子讲解,假设需求就是扫描url.txt文件,然后判断里面的URL是否失效。url.txt文件的内容是一行一个URL,如: ……
为什么I/O慢会导致Linux负载飙升?
一、CPU利用率和负载率的区别 先来一张 top 命令图。 这里要区别 CPU 负载(Load)和 CPU 利用率,它们是不同的两个概念,但它们的信息可以在同一个 top 命令中进行显示。 什么是负载? 简单来说,负载(Load)指标表示一段时间内,系统有多少个运行的任务,也就是 CPU 使用队列的长度统计信息,这个数字越小越好。任务的统计包含: 正在 ……
Linux网桥功能学习
一、背景知识 在说网桥之前,先描述几个概念,有助于对网桥的功能及实现有更深的理解。 一个交换网络的逻辑图: 1. 冲突域 一个冲突域由所有能够看到同一个冲突或者被该冲突涉及到的设备组成。以太网使用C S M A / C D(Carrier Sense Multiple Access with Collision Detection,带有冲突监测的载波侦听多……
玩转时序数据库InfluxDB
一、什么是InfluxDB? InfluxDB 是一款用 Go 语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。该数据库现在主要用于存储涉及大量的时间戳数据,如 DevOps 监控数据,APP metrics, loT传感器数据和实时分析数据。 InfluxDB特征: – 无结构(无模式),可以是任意数量的列(tags)。 – 可以设置 metri……
Linux五种IO模型浅谈
文件描述符 我们知道Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用,内核给我们返回一个文件描述符(file descriptor,简称fd)。我们通过ls -l /proc/${pid}/fd/ 可以看到进程${pid}占用的所有描述符。而对一个……
Linux命令:pigz多线程压缩工具
学习Linux系统时都会学习这么几个压缩工具:gzip、bzip2、zip、xz,以及相关的解压工具。关于这几个工具的使用和相互之间的压缩比以及压缩时间对比可以看:Linux中归档压缩工具学习 那么Pigz是什么呢?简单的说,就是支持并行压缩的gzip。Pigz默认用当前逻辑cpu个数来并发压缩,无法检测个数的话,则默认并发8个线程,也可以使用-p指定线程数……