Linux
文章平均质量分 79
远行的风
喜欢写生 编程 音乐 设计 喜欢把自己的想法变成实实在在的东西 喜欢安静的做一些事情,网易Blog:http://khome.blog.163.com
展开
-
[Azure]通过waagent代码找到临时磁盘的设备名
Azure的Linux虚拟机默认会有一个临时磁盘,正常情况下设备名是/dev/sdb,但是由于设备识别顺序是随机的,所以重启的时候,临时磁盘的设备名可能未必是/dev/sdb,那么waagent是如何将/dev/sdb挂在到/mnt/resource下的呢?waagent相关代码都在/usr/lib/python2.7/site-packages/azurelinuxagent目录下(具体分析过程...原创 2018-02-28 17:51:23 · 1013 阅读 · 0 评论 -
Zabbix搭建笔记[4]--web监控配置
针对Web应用,zabbix专门提供了web监控来对其进行处理,我们已经在Zabbix Server上面打好了web页面,所以就利用Zabbix的HomePage来做一个小的演示。 首先在主机中找到Zabbix server,点击web: 点击Create web scenario: 填写Scenario的基本参数: 接着在Ste原创 2017-08-08 11:56:46 · 767 阅读 · 0 评论 -
Zabbix搭建笔记[5]--agent监控参数
前面我们了解到Zabbix中预置了很多监控项参数,除了默认的监控参数外,我们也可以定义自己的监控参数。 自定义参数可以在agent的/etc/zabbix/zabbix_agentd.conf中配置,格式如下:UserParameter=key,command带参数的写法:UserParameter=key[*],command $1 $2 $3 $4 …… 注原创 2017-08-08 13:45:02 · 1034 阅读 · 0 评论 -
Zabbix搭建笔记[6]--日志监控,计算和聚合
Zabbix agent可以针对虚拟机进行日志采集和监控,当日志中出现特定字符串的时候,可以检测并做出处理。 日志分析需要zabbix agent主动模式的支持,同时需要zabbix用户对agent的日志文件有权限。 我们针对CentOS 7.3这台Client的secure日志进行一个简单的分析,对于服务器,我们希望对登陆的用户进行trace,CentOS中用原创 2017-08-10 14:47:31 · 1921 阅读 · 0 评论 -
Zabbix搭建笔记[7]--触发器
这一讲我们来配置监控的触发器。 触发器的作用是拿到监控项的数据后,会对数据进行一个判断,每一个触发器都必须要关联一个监控项,但是一个监控项可以对应多个触发器,触发器可以与模板或者主机进行关联。 触发器有两个状态:OK和Problem。 我们可以针对前面创建过的监控项来创建触发器,我们找到前面创建的聚合监控项LinuxHost.cpu.avg所在的主机AggregateCol原创 2017-08-22 17:04:49 · 3768 阅读 · 0 评论 -
Zabbix搭建笔记[8]--报警配置简介
了解了触发器设置,我们接着来为触发器添加事件处理动作(Action)。Action可以响应以下4种不同的事件:Trigger events:触发器状态从OK=>Problem或者反过来Discovery events:当network discovery触发的时候(后面再介绍)Auto registration event:当新的agent自动注册的时候Internal eve原创 2017-08-23 11:24:42 · 946 阅读 · 0 评论 -
Zabbix搭建笔记[10]--Network Discovery
针对复杂多变的网络环境,zabbix提供了Network Discovery功能,该功能可以加速zabbix部署,让管理维护更为简单,大大减轻对于经常发生变动的部署环境的运维压力。Network Discovery功能不提供网络拓扑结构的发现。 Network Discovery功能主要依赖于以下信息:IP范围服务的可用性(FTP,SSH,WEB,POP3,IMAP,TCP原创 2017-08-25 13:47:37 · 920 阅读 · 0 评论 -
[Azure]如何定位虚拟机内部附加的数据磁盘
转载自https://docs.azure.cn/zh-cn/articles/compute/aog-virtual-machines-howto-loc-data-disk现象描述在很多场景下,客户会挂载多个数据磁盘到虚拟机上,为了提高性能和易扩展性,会使用到 raid 或者 lvm 逻辑卷来组合磁盘使用,在进行数据迁移和备份时,会涉及到数据磁盘的管理,由于数据磁盘在虚拟机转载 2017-08-25 12:34:23 · 532 阅读 · 0 评论 -
Zabbix搭建笔记[9]--报警设置示例
这一节我们继续配置报警,首先我们针对WindowsHost的机器重启配置一个邮件通知。 我们添加一个Trigger,利用SystemUptime来检测重启: 添加一个Action:定义好Operation: 都配置好之后,我们重启了一下这台Windows虚拟机,发现并没有发送邮件。排查之后发现,用户组没有对监控的主机配置正确的权限,默认对All原创 2017-08-24 18:11:44 · 425 阅读 · 0 评论 -
Linux中能看到文件,但是无法访问也删除不了
遇到一个有意思的Linux文件名的问题,做一个小笔记。找一台CentOS 6.5的机器,使用 touch "test " 创建一个名称为 "test " 的文件,使用 ls -a 查看这个文件,发现它的名字显示为 "test",后面的3个空格看不到:使用 rm -rf test 发现删除不掉这个文件,ls -l test 提示文件不存在:因为这个原创 2017-06-22 16:31:28 · 5208 阅读 · 0 评论 -
Zabbix搭建笔记[3]--快速配置和使用
Zabbix Server的密码存在zabbix.users表中,可以在Mysql上用下面的语句查看Admin的密码:mysql>select * from zabbix.users where alias='Admin'; select * from zabbix.users where alias= 'Admin • ; I userid I alias I 1 | Admin I s原创 2017-08-07 20:46:35 · 968 阅读 · 0 评论 -
Zabbix搭建笔记[2]--Zabbix Agent(Client)的安装配置
前面我们已经搭建好了Zabbix Server,根据前面的拓扑,我们要继续搭建3个Client用于监控。 首先我们在CentOS 7.3上面进行Client的搭建,仍然使用下面的命令安装Zabbix官方源:[CentOS7.3] #rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-re原创 2017-08-03 14:46:25 · 1140 阅读 · 0 评论 -
[Azure]Azure虚拟机代理服务(waagent)代码简单分析
我们在Azure中创建一台CentOS7.4的虚拟机,首先我们看一下/sbin/waagent这个执行文件:import osimport impimport sys if __name__ == '__main__' : import azurelinuxagent.agent as agent """ Invoke main原创 2018-01-23 17:59:32 · 1297 阅读 · 0 评论 -
[Azure] 使用azure cli 2.0 利用Key Vault创建自签名证书导入nginx
链接参考:https://docs.azure.cn/zh-cn/virtual-machines/linux/tutorial-secure-web-server安装cli 2.0 的步骤这里略去。首先创建一个新的资源组:az group create --name dantstrg --location chinanorth需要注意一点:上面创建的资源组的名称一定要使用原创 2017-11-24 14:56:20 · 709 阅读 · 0 评论 -
redis的一些安全问题小实验
redis默认仅对127.0.0.1侦听,因此只有本地的redis客户端可以访问。但是如果redis服务希望提供公网访问,就需要向公网开放6379端口,这就存在一定的安全隐患,如果没有设置redis认证密码,则会导致很多安全隐患。 主要有两个隐患,首先通过远程的方式可以使用eval命令执行一些脚本,例如(如果没有认证的话就不需要-a了,这里面因为是咱自己的服务器,所以加了认证):red原创 2017-12-08 18:09:02 · 770 阅读 · 0 评论 -
CentOS 6.9 redis安装与基本配置(下)
上面我们安装好redis服务之后,接着我们来看基本配置。redis配置文件的默认位置/etc/redis.conf:egrep -v"(^#|^$)" /etc/redis.conf 进入redis命令行:redis-cli其中,6379是侦听端口。 查看所有配置:configget * 查看某个配置:configget logl原创 2017-12-08 15:35:08 · 1547 阅读 · 0 评论 -
CentOS 6.9 redis安装与基本配置(上)
使用下面的命令进行更新yum源并安装redis服务:rpm -Uvhhttp://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpmyuminstall -y redisserviceredis startchkconfigredis on 安装好之后,我们发现一个比较奇怪的问题(不确定原创 2017-12-08 15:34:41 · 2327 阅读 · 0 评论 -
Linux调整磁盘格式为GPT,格式化2TB以上的磁盘
如果磁盘大小超过2TB,可以使用parted命令来进行分区的创建。我们首先挂载一块4TB的磁盘:使用parted工具进行分区划分:注意上面我们使用mklabel gpt将磁盘分区格式修改为GPT格式,默认是MBR格式。如果不做修改,默认只能支持2.2TB的分区:使用mkpart做分区的时候会报错:partition length of 8587837原创 2017-11-30 15:30:47 · 20702 阅读 · 0 评论 -
[Azure] Azure负载均衡后的MySQL服务的一次TroubleShooting
工作中遇到的一个具体案例,拿出来简单分析一下,帮助大家了解一下MySQL相关的机制以及Azure平台负载均衡探测的原理。客户环境是在Azure环境中搭建了一个内部负载均衡,后端有2台MySQL服务器做了主从。从后端MySQL服务器上使用show processlist查看发现有一个168.63.129.16的IP进行MySQL的连接:168.63.129.16这个IP实际上是平原创 2017-11-29 16:23:05 · 580 阅读 · 0 评论 -
nginx初学指南
nginx概述:nginx服务由一个 master进程和多个 worker进程组成,master进程主要负责读取和应用配置,以及维护 worker进程,worker进程负责实际处理请求。Nginx基于事件处理机制来高效地将请求分配给 worker进程,worker进程的数量可以在配置文件中预先定义好或者基于可用CPU数量自动调整匹配。 nginx原创 2017-10-24 16:38:41 · 599 阅读 · 0 评论 -
排查Linux机器是否已经被入侵
转载自:http://www.cnblogs.com/stonehe/p/7562374.html随着开源产品的越来越盛行,作为一个Linux运维工程师,能够清晰地鉴别异常机器是否已经被入侵了显得至关重要,个人结合自己的工作经历,整理了几种常见的机器被黑情况供参考 背景信息:以下情况是在CentOS 6.9的系统中查看的,其它Linux发行版类似 1.入转载 2017-09-20 17:17:29 · 5682 阅读 · 1 评论 -
[Azure]Azure虚拟机扩展的介绍和使用
VM Agent简介VM Agent是部署在虚拟机内的一个进程,用于协助管理,配置和加速虚拟机。在使用官方映像创建虚拟机的最后一个步骤中有配置VM Agent的选项。对于Windows虚拟机而言,常见的一些VM Agent的应用例如在背景中看到的虚拟机信息,就是由VM Agent安装的扩展BGInfo配置的:还可以通过VM Agent安装扩展原创 2017-04-27 23:24:22 · 2233 阅读 · 0 评论 -
Linux ext2, ext3, ext4 文件系统解读[5]
mount 过程:每个文件系统都有独立的Super Block,Inode,Data Block,如果我们要访问一个文件系统中的内容,或者向文件系统中写入数据,那么首先需要让系统能够找到文件系统的入口。在前面的小节中可以看到,Linux中使用目录来进行文件的查找,所以我们需要将文件系统与目录树进行关联,关联后,便可以通过文件系统关联到的目录的入口进入文件系统,这个关联的过程原创 2017-04-27 22:38:59 · 1215 阅读 · 0 评论 -
VMWare上配置Linux虚拟机的网卡
CentOS6.5:eth0:/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE="eth0"BOOTPROTO="static"IPADDR="172.31.100.XXX"NETMASK="255.255.255.0"GATEWAY="172.31.100.1"ONBOOT="yes"DNS原创 2017-02-20 18:51:47 · 497 阅读 · 0 评论 -
Linux中audit日志的使用方法
auditd服务的安装:以CentOS6.5为例,使用下面的方法确认auditd服务的安装情况:yumlist audit audit-libs确认以下两个package是否安装:audit.x86_64原创 2017-02-27 21:48:52 · 55768 阅读 · 2 评论 -
[Azure]Linux虚拟机使用rc.local启动脚本进行磁盘挂在
Azure Linux虚拟机如果在启动过程中出现磁盘检测失败,会导致虚拟机无法成功启动,这种情况下,由于没有控制台的登录方式,往往需要通过将系统磁盘挂在到其他虚拟机上进行fstab文件的修改或者磁盘修复,修复完成后再使用修复后的磁盘重建虚拟机。这种方法相对比较耗时,有没有方法能够保证在数据磁盘出现问题时,不会影响到系统的启动呢?我们可以在rc.local中写入mount语句,由于rc.local是原创 2017-01-08 22:42:29 · 3283 阅读 · 0 评论 -
docker配置独立桥接IP
使用端口映射(NAT)的方式存在一个弊端,当多个容器都需要使用某个端口时或者host主机端口与容器端口冲突时(例如,host主机搭建了80的服务,两个容器也都搭建了80的服务,那个只有1个服务可以使用本机的80端口,其他服务都要映射为其他端口) 为容器配置独立的桥接IP就完美的解决了这个问题。以下为配置步骤:可以查看默认的docker0网卡的IP:原创 2017-01-06 19:53:33 · 11293 阅读 · 3 评论 -
CentOS6.5上安装Docker
首先需要Disable掉Selinux(不然安装过程中会遇到很多限制):vim /etc/selinux/config 修改:SELINUX=disabled 修改完成后,重启虚拟机:reboot 重启后查看selinux状态:sestatus 下载并安装epel源:wgethttp原创 2017-01-06 18:09:44 · 548 阅读 · 0 评论 -
CentOS6.5安装Python 2.7.10
How to install python interpreter on CentOS6.5原创 2017-01-01 19:25:42 · 839 阅读 · 0 评论 -
Linux查看网络和IO性能问题
Linux上使用iftop可以查看网络使用情况,使用iotop可以查看磁盘io使用情况 首先需要安装iftop和iotop:yum install iftopyum install iotop ===========================================================================================原创 2017-01-05 20:41:46 · 52144 阅读 · 1 评论 -
Linux Screen命令详解
一、背景系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。二、简介GNUScreen是一款由GNU计划开发的用于命转载 2017-01-05 20:00:48 · 1222 阅读 · 0 评论 -
Linux下使用jq解析JSON格式的数据
Linux上安装jq:$ wgethttp://stedolan.github.io/jq/download/linux32/jq(32-bit system)$ wgethttp://stedolan.github.io/jq/download/linux64/jq(64-bit system)$ chmod+x ./jq$ sudocp jq /usr/bin原创 2017-01-05 19:57:21 · 5769 阅读 · 0 评论 -
[Azure]使用CustomScriptExtension在Azure虚拟机中执行自定义脚本
Azure VM 扩展功能十分强大,对于 Windows 和 Linux 虚拟机,可以通过 CustomScript Extension 分别在其中执行 Powershell 脚本和 Shell 脚本。换个理解的角度,只要是 Powershell 脚本或者 Shell 脚本可以实现的功能,基本上都能够通过 CustomScript Extension 将脚本推送到虚拟机中实现。下面举几个小例子原创 2017-03-19 00:24:58 · 923 阅读 · 0 评论 -
Linux RAID 和 LVM 配置小实验[1]
最终结构: 操作步骤:注:步骤中所有命令均改为粗体黄色,注意的地方用绿色标出 磁盘分区:首先,在机器上挂载4块 10GB的磁盘(这里用 Azure虚拟机来模拟环境,系统使用 CentOS 6.7):[root@DanCentOS67 daniel]#fdisk -l ……原创 2017-03-10 15:00:06 · 952 阅读 · 0 评论 -
Linux ext2, ext3, ext4 文件系统解读[4]
ext2 ext3 ext4 文件系统的区别:ext2为非日志文件系统,即在文件系统的运行期间不会记录写操作的日志,这就有一个很大的弊端,即文件系统只能单纯依靠Inode和Data Block的Bitmap来确定数据写入的状态。我们先来了解一下写入数据的一些具体的步骤:当用户尝试写入一个文件时,首先系统判断当前用户对于这个文件尝试写入的目录是否有写权限,原创 2017-04-26 23:21:28 · 2040 阅读 · 0 评论 -
Linux和Windows系统修改MSL的值
MSL,即Maximum Segment Lifetime,一个数据分片(报文)在网络中能够生存的最长时间,在RFC 793中定义MSL通常为2分钟,即超过两分钟即认为这个报文已经在网络中被丢弃了。对于一个TCP连接,在双方进入TIME_WAIT后,通常会等待2倍MSL时间后,再关闭掉连接,作用是为了防止由于FIN报文丢包,对端重发导致与后续的TCP连接请求产生顺序混乱,具体原理这里就不详原创 2017-05-08 23:13:17 · 16108 阅读 · 2 评论 -
Linux SSH建立连接过程分析
SSH建立连接的过程主要分为下面几个阶段:SSH协议版本协商阶段。SSH目前包括SSH1和SSH2两个大版本。密钥和算法协商阶段,SSH支持多种加密算法,双方根据自己和对端支持的算法进行协商,最终决定要使用的算法。认证阶段,服务器对客户端进行身份验证。会话请求阶段,完成认证后,客户端会向服务器端发送会话请求。交互会话阶段,会话请求通过后,服务器端和客户端原创 2017-05-05 16:00:49 · 17952 阅读 · 4 评论 -
Linux ext2, ext3, ext4 文件系统解读[3]
mke2fs.conf 配置文件说明以及格式化:mke2fs.conf文件位于/etc/mke2fs.conf(不同系统位置可能有区别,这里以CentOS 6.5为例),我们看一下其中的内容:[defaults]base_features = sparse_super,filetype,resize_inode,dir_index,ext_a原创 2017-04-23 22:44:22 · 1594 阅读 · 0 评论 -
Linux ext2, ext3, ext4 文件系统解读[1]
ext2 文件系统结构分析:首先来看一下ext2文件系统的结构示意图: Block:对于ext2文件系统来说,硬盘分区首先被分割为一个一个的“Block”,每个Block就是实际用来存储数据的单元,大小相同,Block按照0,1,2,3的顺序进行编号,第一个Block的编号为0。对于ext2文件系统来说,支持的Block的大小有1024字节/2048字节/4096字节,Block的大小在创建文件系统的时候可以通过参数指定,如果不指定,则会从/etc/mke2fs.conf文件中读原创 2017-04-20 21:28:56 · 9766 阅读 · 1 评论 -
Linux ext2, ext3, ext4 文件系统解读[2]
目录与文件:从前面Inode的结构中我们可以看到,其中并没有定义文件名称,文件名称实际是存放在目录中的,目录也是一类特殊的文件,在ext2文件系统中,目录是由ext2_dir_entry结构组成的列表,目录是变长的结构,这样可以避免磁盘空间的浪费。对于单个文件名,长度不能超过255字符,且文件名的长度会自动使用'\0'字符填充为4个整数倍。目录中有文件和子目录。ext2原创 2017-04-22 17:38:03 · 1344 阅读 · 0 评论