CMDB
一、总结
-
企业中所有用的服务器的版本都是linux的版本。ubunta,Centos,Suse,Solaries,RedHat
-
Centos 现在主流版本是 6 和 7 ,6和7的命令都差不多
-
企业中,宿主机连接虚拟机或者线上的测试机等服务器的话,一般使用 xshell 连接。SecureCRT,putty。在MAC下,连接服务器的话,使用mac自带的terminal,还可以使用 finallshell
-
启动虚拟机使用vmware软件,还可以使用 virtualbox
-
linux的命令
鸟哥的linux私房菜 - windows和linux常用的远程链接工具有:xshell putty securecrt
二、网络相关常见命令
1.hostname 命令
hostname 显示主机名字
hostname –f 显示完整的主机名和域名
hostname –i 显示当前机器的 ip 地址
2.ping 命令
ping 将数据包发向用户指定地址。当包被接收,目标机器发送返回数据包 windows中的ping,只执行4次,linux中一直ping下去
3.查看IP信息 命令
-
ifconfig
在6 下面可以使用 查看用户网络配置。它显示当前网络设备配置
-
ip addr
在6 和 7 下面都可以使用
4.清屏的 命令
clear 或者 crtl+l
5.netstat 表示 查看 linux端口信息的(检测网络主机是否可达)
netstat -natup
例子:netstat -tunlp | grep 8080 表示 查看是什么进程占用8080 端口
6.ps 命令
ps -aux 是列出当前服务器上所有的进程
| : 管道符 , 将左边执行的命令结果传给右边进行操作
grep : 用来进行筛选过滤
例子:
ps -aux | grep mysql : 查看mysql所有的相关进程
7.kill 、pkill命令
杀死某一个进程 kill 服务的进程号
kill -9 服务的进程号 -9:表示强制杀死
pkill 服务名 例子: 杀掉服务进程 pkill redis
8.service
centos6的系统:
service命令能够将目录“/etc/init.d/”中有关网络服务或系统服务、脚本程序以一种统一的格式执行,
格式为:“service 脚本程序 选项”,常用选项有:status、stop、start、restart。service命令使用举例如下:
service 服务名 status : 查看某一个服务的状态
service sshd status : 查看sshd服务的状态
-
service 服务名 stop : 关闭某一个服务
-
service sshd stop : 关闭sshd服务
-
-
service 服务名 start : 启动一个服务
-
service sshd start : 启动ssh的服务
-
-
service 服务名 restart : 重新启动一个服务
-
service sshd restart : 重新启动ssh的服务
-
centos 7的系统:
systemctl status 服务名
systemctl start 服务名
systemctl restart 服务名
8.top 命令 表示linux任务管理器,查看系统负载状态,动态进程信息的
9.wget
例子:wget curl 表示下载软件包
10.last 命令 表示 用户最后登录信息
11、find 命令 表示找出什么 例子:find -name.txt 找出当前目录以及其子目录所有扩展名为 .txt 的文件
12、exit 表示 退出会话(退出交互式shell)
13、ssh
例子: ssh root@123.206.16.61 表示 远程登录 ip为23.206.16.61 的服务器
14、chgrp
例子:chgrp alex test.py 表示 修改test.py的属组为alex
三、vim的使用
0. lrz sz
-
rz: 上传文件
-
sz:下载文件
1.安装:yum install vim*
:q 退出 (不保存)
:q! 强制退出
:wq 保存并退出
:set number 显示行号
:set nonumber 隐藏行号
/apache 在文档中查找apache 按n跳到下一个,shift+n上一个
yyp 复制光标所在行,并粘贴
h(左移一个字符←)
j(下一行↓)
k(上一行↑)
l(右移一个字符→)
2.查看磁盘的使用情况
df -h
3.查看cpu的具体情况
cat /proc/cpuinfo
4.tree
yum install tree 查看当前目录下面的所有文件和文件夹
5.history
记录历史命令, 一般记录1000条左右 执行历史记录的话, !命令行号
6.查看linux发行版信息: cat/etc/os-release
命令的视频
https://www.cnblogs.com/passzhang/p/8552757.html linux 全部都是一些命令
-
web方向 (BBS, 路飞学成) (Django,Flask, torando) php java web
-
爬虫和数据分析 (php, java) ,数据分析用的是 R语言
-
自动化运维 (saltstck, ansible) Python 80%的开发,20%的运维
-
人工智能和机器学习
四、传统运维和自动化运维的对比
1.企业中,项目的发布流程
产品经理调研需求 ---->三方开会讨论(开发,产品,运维,测试) -----> 开发进行开发产品 ----> 测试流程 (黑盒和白盒测试) -----> 上线
01、传统的上线流程:
SVN 开发 将代码压缩一下发给运维,运维拿到代码之后,然后将代码解压缩,部署到服务器上,启动服务
好处:流程比较简单
坏处: 服务器多的话,部署就非常的慢,影响上线的进度
02、自动化运维的流程:
例子1:搞一个web的系统,勾选发布的机器,上传代码, 进行发布

上述系统(上图)需要知道服务器的基本信息(元信息)
例子2:监控系统

需要监控服务器的CPU使用率,磁盘大小(>90%,报警),内存使用率
上述系统(上图)需要知道服务器的基本信息
五、CMDB

1.概念介绍
通过上面的例子2(监控系统),需要做一个基石项目,提供服务器的基础信息(服务器的磁盘,cpu, 内存等),
这个基石项目叫做CMDB Configure Manage DataBase 中文叫 配置 管理数据库,主要用来 收集 服务器的基础信息
2.架构图方案
方案一、agent(代理)


缺点:每部署一台服务器,都要放同一份代码
问:如何获取服务器的信息? 答:执行对应的linux命令 (ip:ifconfig)
问:如何使用Python代码来执行linux的命令? 答:subprocess模块来执行linux命令
问:为啥post中没有收到数据,而body中有 ?答:django根据你http协议的头信息来判断,
如果 content-type: application/form-url-encode的话,django会将body中的数据付给post。
如果 content-type: application/json的话,django不会将body中的数据付给post
总结:
整个架构方案,分成3部分, 客户端采集,API数据分析,数据展示
方案二:ssh实现方式

总结

参考资料: http://lupython.gitee.io/

浙公网安备 33010602011771号