首页 文章 精选 留言 我的

精选列表

搜索[运维安全中心(堡垒机)],共10000篇文章
优秀的个人博客,低调大师

运维技术(一)用docker安装elk之CentOS7.4

一、一个新纯净的系统CentOS7.4使用官方安装脚本自动安装Docker[root@jiaxin-ceshi ~]# curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 查看版本:[root@jiaxin-ceshi ~]# docker version[root@jiaxin-ceshi ~]# service docker restart[root@jiaxin-ceshi ~]# docker search elk[root@jiaxin-ceshi ~]# docker pull sebp/elk等待下载完成[root@jiaxin-ceshi ~]# docker images查看下载好的镜像2、执行命令:docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -e ES_MIN_MEM=128m -e ES_MAX_MEM=1024m -it --name elk sebp/elk 将镜像运行为容器,由于我本机内存不符合安装要求,为了保证ELK能够正常运行,加了-e参数限制使用最小内存及最大内存。 以上报错了 修改vim /etc/sysctl.conf [root@jiaxin-ceshi ~]# vim /etc/sysctl.conf 加入一行:vm.max_map_count=262144使配置生效 [root@jiaxin-ceshi ~]# sysctl -p 重用docker运行 [root@jiaxin-ceshi ~]# docker run -d -p 5601:5601 -p 9200:9200 -p 5044:5044 -e ES_MIN_MEM=128m -e ES_MAX_MEM=1024m -it --name elk22 sebp/elk[root@jiaxin-ceshi ~]# docker ps 看到已经运行了 打开浏览器 http://IP:5601 完成咯~!

优秀的个人博客,低调大师

运维技术之一、supervisorctl 守护进程的安装和使用

一、安装:yum -y install supervisor二、编辑:vim /etc/supervisord.conf 例如添加一个进程: [program:eatjoys-prd-third];environment=PATH="/opt/py3/bin:%(ENV_PATH)s"directory=/work/product/eatjoys-prd-thirdcommand=java -Xmn256m -Xms384m -Xmx512m -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djava.ext.dirs=./lib com.yutuoit.framework.start.StartWebApp -console -app=eatjoys-prd-thirdautostart=trueautorestart=truestdout_logfile=/work/var/logs/eatjoys-prd-third.logstderr_logfile=/work/var/logs/eatjoys-prd-third.error说明:[program:eatjoys-prd-third] eatjoys-prd-third 进程名字directory=/work/product/eatjoys-prd-third 启动进程所在目录command= 对应启动命令autostart=true 是否自动启动(是)autorestart=true是否自动重启(是)stdout_logfile=输出日志所在目录名字stderr_logfile=错误日志所在目录名字完成之后保存退出三、 supervisorctl error: , [Errno 2] No such file or directory: file: line: 1supervisor> 意思是没有启动的意思 /etc/init.d/supervisord restart 在次执行supervisorctl 输入help 可查看帮助下面安装一下jdkjdk-8u172-linux-x64.tar.gz下载并解压到/usr/local下 重命名mv jdk1.8.0_172/ jdk1.8打开vim /etc/profile并添加 jdk JAVA_HOME=/usr/local/jdk1.8JRE_HOME=/usr/local/jdk1.8/jrePATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$JAVA_HOME/jre/lib/ext/sunjce_provider.jarexport JAVA_HOME JRE_HOME PATH CLASSPATH 让配置环境生效source /etc/profilejava -version 创建进程目录mkdir /work/product/lib conf 日志目录等 cd /work/product 拉取代码git clone git@77.88.25.68:eatjoys-java/eatjys-prd-thrd.git

优秀的个人博客,低调大师

运维技术之二、docker安装跳板机jumpserver和使用

jumpserver官网http://www.jumpserver.org/一、安装docker安装[root@jiaxin-ceshi-ceshi work]#yum install docker-io启动[root@jiaxin-ceshi-ceshi work]#/etc/init.d/docker restart查看帮助docker help 搜索jumpserver镜像[root@jiaxin-ceshi-ceshi work]#docker search jumpserver下载[root@jiaxin-ceshi-ceshi work]#docker pull jiaxiangkong/jumpserver_docker:0.3.2[root@jiaxin-ceshi-ceshi work]# docker images2.运行下载好的 jumpserver[root@jiaxin-ceshi-ceshi work]# docker run --name=jumpserver -d -p 80:80 --restart=always 80e9ddba8da6[root@jiaxin-ceshi-ceshi ~]# docker ps删除正在运行的镜像[root@jiaxin-ceshi-ceshi ~]# docker kill eb56df2cdc66eb56df2cdc66[root@jiaxin-ceshi-ceshi ~]# docker ps[root@jiaxin-ceshi-ceshi ~]# docker ps -a[root@jiaxin-ceshi-ceshi ~]# docker run -d --restart=always -p 80:80 --name=jumservera 80e9ddba8da6 访问公网47.98.124.88 默认帐号密码admin 下面就添加服务器操作吧~! 补充点docker常用命令 进入容器docker exec -it 0cb8106bcb55 /bin/bash安装VIMapt-get install vimapt-get updateapt-get install vim docker rmi 删除镜像 docker help 帮助

优秀的个人博客,低调大师

Python Linux系统管理与自动化运维

Py't'hon语言与Linux系统管理 Py't'hon生态工具 打造命令行工具 文本处理 Linux系统管理 使用python监控Linux系统 文档与报告 网络 Python自动化部署 深入浅出Ansible 使用Python打造Mysql专家系统 启动简易下载器:python -m SimpleHTTPServer python -m SimpleHTTPServer python -m json.tool 格式化json image.png 临时python指令:python -c "print 'aaa'" pip升级:pip install -U pip pip常用指令 image.png 更改pip的安装源: vi ~/.pip/pip.conf [global] index-url=https://pypi.douban.com/simple/ 下载软件到本地安装: pip install --download='pwd' -r requirements.txt pip install --no-index -f file://'pwd' -r requirements.txt PDB调试器 image.png 启动pdb调试 image.png ipdb image.png pep8 一次导入一个模块 代码风格检查 image.png 将代码风格编排成PEP8 image.png pyenv进行python版本管理 image.png import sys sys.argv 所有参数 sys.stdin fileinput.input() sys.stdout sys.stderr sys.exit(1) 隐藏用户的输入 image.png ConfigParse解析配置文件 命令行参数解析类:argparse *** image.png image.png click + colorama 简直完美:https://www.cnblogs.com/xiao-apple36/p/9089027.html prompt_toolkit自动补全 image.png 历史提示,自动补全: image.png 历史提示,自动补全,TAB image.png with open('access.log') as f: for line in f: xx re image.png image.png re建议编译 search 返回第一次匹配,findall返回所有 获得超链接 image.png image.png string import template image.png jinja2 os.path路径管理 image.png 判断文件类型 image.png 查找最常用10条指令 image.png fnmatch 文件 image.png glob整个文件系统查找 image.png os.walk遍历 image.png 遍历及查找 image.png shutil文件管理 filecmp文件比较模块 hashlib MD5模块 image.png tarfile image.png zipfile image.png shutil加压缩 image.png subprocess image.png subprocess.check_output image.png 监控dstat\glances psutil获取CPU个数 image.png 获取CPU利用率 image.png image.png psutil.virtual_memory获取内存信息 image.png image.png 磁盘:disk_partitions image.png image.png image.png 返回系统启动时间 image.png psutil psutil

优秀的个人博客,低调大师

python linux 系统管理与自动化运维

pypdf2 图片:pillow 邮件:smtplib yagmail:简单发送邮件 image.png image.png 接收邮件:imapclient image.png settools打包 python-nmap image.png image.png ipy。。。。。。 dnspython... 同时处理多台服务器:polysh wget http://guichaz.free.fr/polysh/files/polysh-0.4.tar.gz tar -zxvf polysh-0.4.tar.gz cd polysh-0.4 python setup.py install 获取用户输入:pexcept paramiko:https://blog.csdn.net/l1028386804/article/details/79029041 脚本操作ssh fabric from fabric.api import * #导入fabric.api模块 env.hosts= ['192.168.122.101','192.168.122.102','192.168.122.103'] #指定远端服务器的ip地址。如果有dns解析的也可以写主机名。 env.password='indionce' #指定远端主机的密码,如果各个密码不相同可以使用一个字典指定,例如:env.password={“root@192.168.122.101”:"indionce"} @runs_once def local_uname(): #定义一个本地任务的函数 local('uname -r') def remote_uname(): #定义一个远程任务的函数 run('uname -r') def uname(): #定义一个函数,将本地与远端组合起来使用 local_uname() remote_uname() 查看列表 from fabric.api import * @runs_once #一定要指定这一条,否则会让你输入多次路径 def input(): return prompt("input path:") #prompt函数,让用户输入自己想要的路径,将输入的值返回到函数。 def ls_path(dirname): #在定义函数的时候指定形参。 run("ls -l "+dirname) def go(): ls_path(input()) #使用input返回的值,用于ls_path()的参数 处理异常 from fabric.api import * from fabric.contrib.console import * #这个模块中包含confirm def backup(): with settings(warn_only=True): #with命令表示执行这句后,执行下面的命令。使用settings命令来设置警告模式 state=local('mkdir /root/zz') #创建一个文件夹 if state.failed and not confirm("/root/zz is already exist,continue?"): #使用failed来判断state这条命令是否失败,失败了为真。confirm向用户确认是否继续,继续为真。如果命令失败了,并且用户希望停止,便通过if判断。 abort("退出任务") #abort是退出任务,有些类似python的exit。退出并且时返回给用户一串字符串 local('tar cavf /root/zz/etc.tar.gz /etc') #将etc的文件备份到/root/zz文件夹中 并行执行与顺序执行 @parallel #将下面的函数设为并行执行。 def runs_parallel(): run('uname -r') @serial #将下面的函数设为顺序执行(默认即为顺序执行 ) def runs_serially(): pass @parallel(pool_size=5) #将下面的函数设为并行执行,并且限制最多5个线程。 def runs_parallel(): pass

优秀的个人博客,低调大师

学习笔记:python watchdog运维监控文件系统事件实战

情况介绍 由于公司准备做Jenkins的前端自动化发布,但是前端的Node.js环境不统一,所以暂时先搁置,采用Ftp上传文件更新项目,因此想到了可以采用文件监控的形式来进行自动化上传。Python语言的优越性就体现出来了,其中有很多很棒的库,本篇即将用到的就是watchdog库。 watchdog库介绍 watchdog用来监控指定目录文件的变化,例如添加删除文件或目录,修改文件内容、重命名文件或目录等,每种变化都会产生一个事件,且有一个特定的事件类与之对应,然后再通过事件处理类来处理对应的事件,至于怎么样处理事件完全可以自定义,只需继承事件处理类的基类并重写对应实例方法。 实战准备 1.Python环境(系统自带Python2.7.5) 2.安装watchdog库(pip install watchdog) 实例演示 #!/usr/bin/python # -*- coding:UTF-8 -*- import time from watchdog.observers import Observer from watchdog.events import RegexMatchingEventHandler import commands class MyHandler(RegexMatchingEventHandler): def __init__(self, regex_list=[r”.*”]): super(MyHandler, self).__init__(regex_list) def on_created(self, event): if event.is_directory: pass else: print(event.event_type, event.src_path) def on_deleted(self, event): if event.is_directory: pass else: print(event.event_type, event.src_path) def on_modified(self, event): if event.is_directory: pass else: print(event.event_type, event.src_path) node = event.src_path.split(‘/’,3)[2] if node == “cp”: commands.getstatusoutput(‘ansible-playbook /mm/node/tasks/node_cp.yml’) elif node == “genpindao”: commands.getstatusoutput(‘ansible-playbook /mm/node/tasks/node_genpindao.yml’) elif node == “login”: commands.getstatusoutput(‘ansible-playbook /mm/node/tasks/node_login.yml’) elif node == “ucenter”: commands.getstatusoutput(‘ansible-playbook /mm/node/tasks/node_ucenter.yml’) else: commands.getstatusoutput(‘ansible-playbook /mm/node/tasks/node.yml -e node=’+node) def on_moved(self, event): print(“move”, event.src_path, event.dest_path) if __name__ == “__main__”: reges = [r”.*\.c”, r”.*\.h”, r”.*\.cpp”] event_handler = MyHandler(reges) observer = Observer() observer.schedule(event_handler, “/node_ftp/”, recursive=True) observer.start() try: while True: time.sleep(2) except KeyboardInterrupt: observer.stop() observer.join() 实例分析 watchdog主要采用观察者模型。主要有三个角色:observer,event_handler,被监控的文件夹。三者原本是独立的,主要通过observer.schedule函数将三者串起来,意思为observer不断检测调用平台依赖代码对监控文件夹进行变动检测,当发现改变时,通知event_handler处理。 关键点: 1.on_modified方法,是文件有变化触发的函数,上传Ftp目录后就需要调用此方法。 2.event是获取具体文件的路径,文中是为了获取具体的项目名称而进行的目录处理。 3.commands.getstatusoutput方法是调用系统的Shell命令。 4.observer.schedule方法第二个参数就是监控的具体的目录。 Tips:最后可以推荐读者有时间可以阅读一下watchdog的源码,写的清晰易懂而且架构很好。

优秀的个人博客,低调大师

运维人员的强大工具

sparkhistory Server产生背景 以standalone运行模式为例,在运行Spark Application的时候,Spark会提供一个WEBUI列出应用程序的运行时信息;但该WEBUI随着Application的完成(成功/失败)而关闭,也就是说,Spark Application运行完(成功/失败)后,将无法查看Application的历史记录; Spark history Server就是为了应对这种情况而产生的,通过配置可以在Application执行的过程中记录下了日志事件信息,那么在Application执行结束后,WEBUI就能重新渲染生成UI界面展现出该Application在执行过程中的运行时信息; Spark运行在yarn或者mesos之上,通过spark的history server仍然可以重构出一个已经完成的Application的运行时参数信息(假如Application运行的事件日志信息已经记录下来); sparkhistory Server的配置 1. 在Spark的conf目录下/usr/local/spark-1.6.0-bin-hadoop2.6/conf,将spark-defaults.conf.template改名为spark-defaults.conf mv spark-defaults.conf.template spark-defaults.conf spark@SparkSingleNode:/usr/local/spark/spark-1.5.2-bin-hadoop2.6$ ls bin data examples licenses NOTICE README.md work CHANGES.txt derby.log lib logs python RELEASE conf ec2 LICENSE metastore_db R sbin spark@SparkSingleNode:/usr/local/spark/spark-1.5.2-bin-hadoop2.6$ cd conf/ spark@SparkSingleNode:/usr/local/spark/spark-1.5.2-bin-hadoop2.6/conf$ ls docker.properties.template metrics.properties.template spark-env.sh fairscheduler.xml.template slaves log4j.properties.template spark-defaults.conf.template spark@SparkSingleNode:/usr/local/spark/spark-1.5.2-bin-hadoop2.6/conf$mv spark-defaults.conf.template spark-defaults.conf spark@SparkSingleNode:/usr/local/spark/spark-1.5.2-bin-hadoop2.6/conf$ ls docker.properties.template metrics.properties.template spark-env.sh fairscheduler.xml.template slaves log4j.properties.template spark-defaults.conf spark@SparkSingleNode:/usr/local/spark/spark-1.5.2-bin-hadoop2.6/conf$ 2. 对spark-defaults.conf 配置 spark@SparkSingleNode:/usr/local/spark/spark-1.5.2-bin-hadoop2.6/conf$vim spark-defaults.conf spark.eventLog.enabled true spark.eventLog.dir hdfs://SparkSingleNode:9000/historyserverforSpark spark.history.ui.port 18080 spark.history.fs.logDirectory hdfs://SparkSingleNode:9000/historyserverforSpark 3.启动history-server spark@SparkSingleNode:/usr/local/spark/spark-1.5.2-bin-hadoop2.6/conf$ cd .. spark@SparkSingleNode:/usr/local/spark/spark-1.5.2-bin-hadoop2.6$sbin/start-history-server.sh starting org.apache.spark.deploy.history.HistoryServer, logging to /usr/local/spark/spark-1.5.2-bin-hadoop2.6/sbin/../logs/spark-spark-org.apache.spark.deploy.history.HistoryServer-1-SparkSingleNode.out failed to launch org.apache.spark.deploy.history.HistoryServer: full log in /usr/local/spark/spark-1.5.2-bin-hadoop2.6/sbin/../logs/spark-spark-org.apache.spark.deploy.history.HistoryServer-1-SparkSingleNode.out spark@SparkSingleNode:/usr/local/spark/spark-1.5.2-bin-hadoop2.6$ jps 6816 Jps 3876 Worker 6772 HistoryServer 3174 NameNode 5990 CoarseGrainedExecutorBackend 3703 Master 3453 SecondaryNameNode 3293 DataNode 5887 SparkSubmit spark@SparkSingleNode:/usr/local/spark/spark-1.5.2-bin-hadoop2.6$ 4、spark-env.sh 5.在web浏览器中查看http://SparkSingleNode:18080/显示页面 1.6.0 History Server Event log directory: hdfs://Master:9000/historyserverforSpark 成功! 本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5922165.html,如需转载请自行联系原作者

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册