运维

IT管理员常用的管理、运维工具有哪些?

半腔热情 提交于 2021-02-18 07:37:49
IT管理员常用的管理、运维工具有哪些?先说说TCPcopy这个神器吧,貌似很多人都还在用着ab模拟测压力,TCPcopy能直接导入线上流量供上线前的风险测试。下面对使用过的工具会简单进行功能及使用场景介绍,并提及一些所了解的工具。 统一帐号管理: 你还在自己写脚本批量增加机器的用户、分组和修改密码或者同步主机的/etc/passwd吗?你还在使用脚本批量对用户设置权限吗?如果有一台帐号主机能够提供所有服务器的帐号、密码、权限控制,如此一来,如果想要增加、修改、刪除用户,只要到这台服务器上面处理即可,这样是不是很方便? LDAP 统一管理各种平台帐号和密码,包括但不限于各种操作系统(Windows、Linux)认证,Linux系统sudo集成(限制用户的sudo权限以及使用sudo的主机),用户可主机登入限制等 可与Apache,HTTP,FTP,SAMBA,ZABBIX,Jenkins等集成 支持密码策略(密码强度、密码过期时间、强制修改、超过验证错误次数锁定帐号)等 支持插件式鉴别模块PAM 不同平台权限的设定、划分 jumpserver 一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能。基于ssh协议来管理,客户端无需安装agent,目前本版本处于beta阶段,线上环境慎用。试用了一下demo,感觉在统一帐号管理方面并不成熟。 NIS 类似于LDAP

puppet自动化运维之资源关系

心已入冬 提交于 2021-01-08 07:56:15
1.引用资源 当我们引用一个资源时,需要 大写 资源类型的 首字母 ,例如 File[sshdconfig] 。当 看到一个大写的资源类型 ,需要明白那实际上就是一个 资源引用 。 小写字母 是用来 定义 的。资源 只能 被 定义一次 ,重复定义相同的资源会导致错误。 大写 : 引用 资源 小写 : 定义 资源 1)、资源的 引用 : 基本格式: Type ["title",…, "title"] 注:Type:表示资源的类型,且 第一个字母 必须 大写 title:表示该资源的title,多个title,可用 逗号 分隔, 必须存在 。 常用于 require => Type ["title",…, "title"] 表示require之后的引用,必须先存在或正确执行 2)、实例 : #定义 file { 'sshdconfig': path => $operatingsystem ? { solaris => '/usr/local/etc/ssh/sshd_config', default => '/etc/ssh/sshd_config', }, owner => 'root', group => 'root', mode => '0644', } service { 'sshd': #引用 subscribe => F ile['sshdconfig'], } 2

puppet自动化运维之file资源

|▌冷眼眸甩不掉的悲伤 提交于 2021-01-07 07:28:42
puppet自动化运维之file资源 作用: ①.支持文件和目录的操作; ②.设置文件及目录的所有者及权限; ③.恢复文件(包括文件的内容、权限及所有者); ④.清理目录以及子目录。 格式: file {"title": #一般是文件名 ensure => present|absent|file|directory|link content => "content", #文件内容(必须有,否则,文件的内容为空) user => "username", #用户 group => "groupname", #用户组 mode => 权限, # 四位 八进制数 path => "title", # 一般和title同名 source => "puppet:///URL", #指定到master上文件的绝对路径或agent上本地文件绝对路径 target => {"源文件或目录"} #指定目标文件,用于ln -s $target $title recurse => true, #递归 purge => true, #将不再资源中管理的其他数据,删除 force => true; #如不加,则不会删除 } 注:{},代表里面的内容,为必选的。 详解: 注: cp就使用source,echo就使用content。 content content => " 字符串", 把 文件的内容

运维老鸟闲谈运维工作与做人做事

白昼怎懂夜的黑 提交于 2020-11-22 04:39:24
从前一直以为,销售的最高境界就是销售自己! 直到我高中毕业12年后联系上一个从前非常要好但是没有读大学的女同学,她发展的很好,是个演说家,她跟我说最高的销售境界是无痕,就是没有痕迹!,比如推销,让人家感觉不是推销. 其实我们做技术搞运维的也是如此,单单是技术好还不够,惟有做好人了,才能在工作中、生活中,如鱼得水! 工作: 七分技术能力三分做人做事的态度和方法。 技术: 硬性的。必须过关,我倾向于快速学习(如:找个好的职业培训机构,比如呢 老男孩linux就业培训中心,嘿嘿。) 做人: 诚信,塌实(在你面对人时,言谈,举止时时的就在传达给他人,你不说话也是一种传达)。 做事: 责任心,积极,主动。不本位主义。(这个是心态问题) 技术容易学,做人就不容易学了。 给同学们的建议:a.少说多做。b.吃亏是福。c.低调,不浮躁。 现在的工作,机会很多,企业招人比你找工作还难!能不能把握就看你们的了! 后记:作为一个老的运维人员,我非常希望能和你们分享我的一点经验,让想从事或者已从事linux运维的不久的朋友们少走一点弯路。 这原本是一篇写给我的学生的博文,平时也有很多朋友兄弟有时也会和我交流技术,那么在这里也把这篇文章送给你们。以上都是我的个人思想,未必都对。如果对你们有点点启发,那我这篇文章就没有白发。希望想从事或者已从事linux运维的朋友们,如果你遇到瓶径了。不妨阅读下这篇文章。 --

redis 3.0尝鲜

安稳与你 提交于 2020-11-19 03:54:37
1.安装redis wget http://download.redis.io/releases/redis-3.0.5.tar.gz tar zxf redis-3.0.5.tar.gz -C /export/server/ cd /export/servers/redis-3.0.5 make && make install mkdir conf;cp redis.conf conf/ 2.redis集群模式配置 2.1redis主配置文件: vim /export/servers/redis-3.0.5/conf/redis.conf daemonize yes pidfile /var/run/redis.pid tcp-backlog 511 timeout 0 tcp-keepalive 0 loglevel notice logfile "" databases 16 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb dir /export/data/redis slave-serve-stale-data yes slave-read-only yes repl

数据库开发管理中的十条建议

主宰稳场 提交于 2020-11-08 16:31:43
因为主要管理数据库平台,所以和公司各个部门的相关技术人员都打过不少交道,然后从日常沟通中,了解到不少技术人员对数据库的观念,有正确的,有错误的,今天就列一些常见的错误观念: 1,发现锁表严重情况,会立刻想到改用Innodb,好像Innodb的行级锁之后,就不会表锁了,持这种观念的开发人员不在少数,其实他们不知道在做排序或是where条件复杂的情况下,一样会产生表锁。 2, 发现磁盘IO过大,会立刻想到分表,(这个方向是好的),但是一问,结果是分几千张表,认为这样之后,磁盘IO压力就会下降,其实分表并不能解决磁盘IO,结合分库+分表,然后分担到不同的物理机器,这样才能真正做到拆分,降低磁盘IO。 3, 大部分应用开发人员都会对表名定义的很通俗,如user,其实这样做不好,因为在进行抓包分析时候,这种没有特征的表名会导致故障排查变难。 4, 大部分应用开发人员不喜欢定时清理历史数据,只管存,不管清,导致项目数据量达到一定程度,再跑清理程序时候会比较影响服务。 5, 有些应用开发人员缺乏对表数据字段的控制,一个表放100多个字段,超级恐怖。 6,还有的应用开发人员干脆把表定义的超级多mediutext,拿数据库当存储用了,而且是冷热数据都放一起,搞得偶很无语。 7,应用开发人员经常会跑一些奇怪的join,嵌套子查询的SQL,但是却不去explain一下到底会有多大的扫描集

MySQL数据库的维护处理

五迷三道 提交于 2020-10-28 10:05:26
1、维护,主要是日志记录在维护中的处理,日志记录文件通常保存在与数据文件相同的目录之中,比如:Unix系统中的/usr/local/mysql/var或是/usr/local/mysql/data,在Windows中则是c:\mysql\data目录,日志记录分为以下几类: 一、错误日志:保存了服务器上发生的每个错误的记录;如果需要激活错误日志,添加--log-error选项到服务器启动命令行或选项文件中,比如: [root@host175 ~]# /etc/rc.d/init.d/mysqld start --log-error Starting MySQL [ OK ] 这个日志的文件名一般是以.err为结尾的。比如我机器上的host175.err,如下蓝色字体标记的: [root@host175 ~]# ls /usr/local/mysql/var/ WorkDB ibdata1 mysql-bin.000008 mysql-bin.000017 greedland mysql mysql-bin.000009 mysql-bin.000018 host.test.com.err mysql-bin.000001 mysql-bin.000010 mysql-bin.000019 host.test.com.pid mysql-bin.000002 mysql-bin

衡量Linux系统性能

只谈情不闲聊 提交于 2020-04-28 05:19:20
做系统优化,必须首先要知道系统的瓶颈在哪里,是CPU处理能力太低?还是IO吞吐太小?本文将介绍监控系统性能的工具。 top: 查找系统性能的瓶颈,经常使用的判别工具是top。只要在命令行输入top,再回车,就会显示系统现在的负载情况。 top 显示的系统信息包括运行时间、进程的数量和状态、CPU周期的百分比和每个进程占用的存储空间、每个进程运行的时间,以及大量的其它信息。进程是按使用资源的多少来排列的,显示每5秒钟自动更新一次。在显示过程中,也可以按下空格键手动更新显示。在查找并解决系统性能故障时,这些信息是相当有用的。 大家可以看到显示的系统情况,运行中的进程有正在使用的top程序,140个进程,1个运行,其他都是休眠,这里还可以看到内存和swap的使用情况。 /proc/cpuinfo: 通过查看/proc/cpuinfo文件,可以得到CPU的型号,主频,缓存等信息。 free: 使用free命令可以查看系统中内存空间的大小。其中,Mem行中的total栏显示了当前Linux正在使用的RAM总量。used栏显示的是被占用的内存空间,但Mem行与这一栏结合并不能产生最好的分析结果,因为其中包含了Linux分配给磁盘缓冲区的一部分分区。在大多数系统中,used栏显示的值和total栏的值相当。然而,我们可以核对used栏、-/+buffers

还记得概率课本中的二项分布吗?在我们的网络判障中发挥了大作用!

安稳与你 提交于 2020-04-14 00:24:08
【今日推荐】:为什么一到面试就懵逼!>>> 本文作者:AIOps智能运维 在之前的系列文章《百度网络监控实战:NetRadar横空出世》中,我们介绍了百度内网质量监测平台NetRadar的原理和架构,其中, 判障算法 是内网监测系统的重要一环,今天我们将详细介绍在NetRadar中实际使用的一种判障算法——基于二项分布的网络判障算法。 业务场景 我们的内网监测系统 NetRadar 实时对百度内网连通性进行探测并根据探测数据判断是否存在网络故障。以探测机房A到机房B的连通性为例,如下图所示,首先从机房A和B中选择n个服务器对 ,机房A中的服务器 去探测机房B中的服务器 ,每次探测有 成功/失败 两种结果。在每个探测周期内,我们会收到n个探测数据,其中m个数据探测成功,(n-m)个数据探测失败。 理论上,在网络状态正常的情况下,m/n=100%。但实际中,由于服务器自身问题(发起探测的服务器负载过高、被探测的服务器重启等)以及一些偶然因素,少量的探测失败是不可避免的,所以需要设定一个判断网络是否故障的 阈值 。 阈值设定 在实际设定阈值的过程中,我们遇到两个问题: 单服务器故障导致产生探测数据的噪声 如前面所述,当服务器a探测服务器b时,如果服务器b自身故障(负载过高或者遇到机器重装、重启等)或遇到其他偶然因素,探测也可能失败,但并不能说明此时存在网络问题,这种情况我们称为 数据噪声

百度佛系程序员开始讲经啦,监控报警那些事儿

99封情书 提交于 2020-04-14 00:20:52
【今日推荐】:为什么一到面试就懵逼!>>> 本文作者:AIOps智能运维 作者简介 运小伟 百度高级研发工程师 负责百度监控平台报警子系统的设计和研发,在大规模分布式系统、运维监控、精准报警等方面具有广泛的实践经验。 干货概览 Argus(Noah 监控3.0)是百度内部最大的监控平台,提供了 机器监控、进程监控、日志监控、远程监控、自定义监控 等多种监控方式。它还支持集群级别的监控配置和管理,并支持复杂的 异常判断 ,提供多种途径的 报警手段 。 图1 Argus监控系统示意图 从系统架构层面,Argus主要包括 采集、汇聚计算、数据存储、报警通路 和 可视化 五个主要部分。报警通路除负责异常判断、报警发送外,还支持 报警回调 和联动 故障自愈机器人 等功能。报警通路目前承载了千万级实例异常判断和报警,每天会自动执行数百次故障自愈任务。本篇文章会重点分异常判断和报警发送两部分来介绍报警通路的功能。 异常判断 判断规则 异常判断是报警通路的核心部分,其支持的判断规则决定了监控报警能力的强大与否,Argus报警通路支持以下两类判断规则: 内置的判断规则 : 该部分支持 四则运算 、 逻辑运算 以及各种 内置函数 。例如:metric_a < 99.99% && metric_b < 99.99% 、 abs(metric_c) > 100 等 。 自定义的判断规则 :