自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Beckham的博客

When you stop, don't forget that others are still running.

  • 博客(102)
  • 收藏
  • 关注

原创 Python3 cx_Oracle+openpyxl 数据导入excel自动发送邮件

#!/usr/bin/env python3# _*_ coding: utf-8 _*_# @Time : 2021/7/1 10:50# @Author : Renfrom openpyxl.utils import get_column_letterfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.header import Heade.

2021-07-02 16:13:41 301

原创 python2监控MySQL QPS/TPS 等性能指标

监控思路1.通过MySQL 命令 show global status 可以获取MySQL 数据库的各种状态信息2.其中'Com_commit','Com_delete','Com_insert','Com_rollback','Com_select','Com_update' 几个参数和QPS/TPS 相关通过show global status whereVariable_name in ('Com_commit','Com_delete','Com_insert','Com_rol...

2021-03-23 15:24:41 488 1

原创 ORACLE SQLPLUS 客户端导出 sql 文件

查看表结构desc temp_sap;Name Type Nullable Default Comments -------------- -------------- -------- ------- -------- ENTITY_SYSCODE NUMBER MAWB VARCHAR2(100) Y TARG.

2021-02-25 12:07:58 970

原创 python 使用psutil模块监控系统资源并告警

思路:利用python psutil库 获取系统资源监控告警参考zabbix 异常告警,恢复则通知恢复利用文本增加时间戳和告警标签加判断 最新的告警时间在20分钟内则不再重复告警,超20分钟未处理再次告警定义告警标签,True 为正常状态 和False为告警过的状态告警后更新监控标签 为False,在False状态和资源低于阈值时则判断为已恢复,并重置文本代码如下:#!/usr/bin/env python# _*_ coding: utf-8 _*_import p

2020-10-30 13:31:14 673

原创 ORACLE 查询执行时间较长的SQL

--查询执行时间最长的SQLselect *from (select sa.SQL_TEXT, sa.SQL_FULLTEXT, sa.EXECUTIONS "执行次数", round(sa.ELAPSED_TIME / 1000000, 2) "总执行时间", round(sa.ELAPSED_TIME / 1000000 / sa.EXECUTIONS, 2) "平均执行时间", sa.COMMAND_TYPE, ...

2020-10-30 12:46:29 6608

原创 ES + Logstash 优化

Logstash优化Logstash 优化点filebeat-> logstash tcp连接 (目前 非瓶颈)单台logstash 节点至少可以支撑上100台filebeat节点的tcp连连接请求网络带宽: 1000Mblogstash-> es tcp连接 (目前 非瓶颈)仅单节点传输内网带宽不是瓶颈logstash input (目前 非瓶颈)接收filebeat推送日志,接收量由filter,output协同决定。logstash filter &

2020-07-21 17:54:39 1154

原创 select poll epoll IO复用模型详解

之前程序中使用的IO函数都是同步的,无论阻塞式还是非阻塞式,在数据从内核拷贝到用户空间过程,用户线程都是被阻塞的。非阻塞IO只是当内核还没准备好数据时立即返回不等待,需要用户自己去不断检查内核数据是否准备好,依然不高效。IO多路复用提出了新的思路,将IO过程分为等待内核数据准备好和读取/写入内核两部分。一个IO函数监控多个IO可读/可写事件,任意1个IO设备准备好时返回(需要代码中轮询查看是哪个IO文件描述符,什么事件),再调用对应的read/write函数操作,减少不必要的等待时间,高效了很多。具体的..

2020-07-16 10:48:32 167

原创 HTTPS 建立连接的过程

HTTPS 建立连接的过程中,一共发起两次请求,进行非对称和对称两次加密上图详细说明一下 整个流程1.客户端发送一个https的请求到服务端2.服务端申请配置好数字证书,包含公钥和私钥3.服务端将证书传送给客户端,证书中包含了很多信息,比如证书的颁发机构,过期时间,网址,公钥等4.客户端解析证书,由客户端的TLS完成,首先会验证公钥是否有效,比如颁发机构,过期时间等。如果有异常,就会弹出警告信息,并结束通信。如果正常,则生成一个随机值(用于对称加密),然后用服务端的公钥对随机值进

2020-07-15 21:41:13 4002 3

原创 kibana6.5自动添加索引脚本

kibana 在发现菜单中查询索引数据时,需要先在系统管理-索引模式-创建索引模式加入索引有很多,每天查询时都要去手动创建岂不是很麻烦。如何自动化的处理?kibana官方提供了API接口,方便我们可以直接调用并配合计划任务来自动创建,删除,更新索引模式官方API文档地址:https://www.elastic.co/guide/en/kibana/current/api.html#!/bin/bash############################################

2020-07-10 11:13:02 805

原创 Logstash -filebeat 6.5 多行日志合并

日志内容:authenticatorClient: <82fa722c1abd2ee6effd39ac954f3927> loginMode: <2> timestamp: <509110741> version: <48>2020-05-09 11:07:41.200 |INFO | SENT: status:

2020-05-09 11:19:11 1511

原创 Elasticsearch 6.5 集群配置 详解

环境信息ES版本 6.5系统信息CentOS Linux release 7.6.1810 (Core)主机主机 ip elasticsearch-1 172.20.0.173 elasticsearch-2 172.20.0.171 配置文件## 集群名称 各节点统一cluster.name: wlwx-clust...

2020-04-24 16:59:09 924

原创 Centos7 ES7.5 + Lostash7.5 + filebeat7.5 部署-自定义多索引按日期更新配置

filebeat+logstash+es搭建目录filebeat+logstash+es搭建介绍安装es的安装安装elasticsearch-head 工具Logstash安装Filebeat 安装索引优化配置日志输出按索引区分配置定期删除索引介绍Filebeat是一个轻量级的转发和集中日志数据的shipper。在你的机器上安装一个file...

2020-04-13 14:12:40 1697 2

原创 awk 计算平均值,最大值,最小值,求和

查看最近内存使用情况cat /tmp/mem.log 30.0530.0630.0130.0030.0029.9629.9930.0230.0130.0730.4030.2530.2430.0830.1430.2030.2630.1130.1830.1930.2230.2430.1930.1430.1030.0430.03awk ...

2020-03-23 17:19:34 604

原创 ERROR: ORA-01756: quoted string not properly terminated,linux系统Oracle导入SQL文本 UF-8格式转换为GBK

问题从PL/SQL导出的sql 上传至linux 服务器sqslplus 导入 报错ERROR: ORA-01756: quoted string not properly terminated原因由于,linux 服务默认编码utf-8,数据库默认编码GBK导致解决查看文件编码vim 打开文本:set fileencoding修改文件编码iconv -f...

2020-03-17 10:40:43 456

原创 top -c 输出重定向到文件,内容不完整解决

问题描述将top 输出结果重定向到文本中,通过脚本进行筛选值做监控,手动执行,输出正常。加入计划任务后,输出内容只有很少一部分不能通过名称判断是哪个进程,无法过滤问题原因由于计划任务不附带环境变量,终端宽度只能显示这么多内容。这也解释了为何手动显示完整而加入计划任务就缺失一部分。问题解决在脚本中加入环境变量解决#!/bin/bashexport COLUMNS=2...

2020-03-05 16:38:39 2886

原创 MySQL查询之多表联查详解

在关系型数据库中,为了减少数据的冗余通常我们会将数据分割在不同的表中。当我们需要将这些数据合成为一条的时候,就需要对表进行连接。相关术语主键(Primary Key):全名 主键约束,是一列或者列的组合,其值是唯一的,一个值只对应一行 外键(Foreign Key):用来在两个表的数据之间建立连接,它可以是一列或者多列。一个表可以有一个或多个外键多表查询多表查询结构图...

2019-11-01 15:59:58 3035

原创 sqlplus / as sysdba 登录 ORA-01017: invalid username/password; logon denied

在排查客户oracle数据库问题的过程中使用 sqlplus / as sysdba 登录过程中报错,问题其实很简单但困扰了一段时间。[oracle@xmzd ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Mon Oct 21 13:33:55 2019Copyright (c) 1982, 20...

2019-10-21 14:27:00 6488 2

原创 Python中 参数的匹配模式及传递语法

Python传入参数的匹配模式有:位置参数,关键字参数,默认参数,可变参数,Keyword-only参数。匹配语法语法 位置 解释 func(value) 调用者 常规参数:通过位置进行匹配 func(name=value) 调用者 关键字参数:通过变量名匹配 func(*sequence) 调用者 以name传递所有的对象...

2019-09-25 17:28:18 800 2

原创 Python3分析Web访问日志

1.日志格式tail -1 access_log172.20.0.10 - - [11/Sep/2019:11:44:41 +0800] "POST /zabbix.php?sid=86618997b1ae279a&action=widget.svggraph.view HTTP/1.1" 200 4257 "http://172.20.0.149/zabbix.php?actio...

2019-09-11 17:50:32 932

原创 Zabbix使用Python3.7实现MySQ监控脚本

Python版本# python -VPython 3.7.4Python3中用pymysql替代了Python2版本的MySQLdb下载pymysql库# pip3 install pymysql命令行使用脚本#!/usr/bin/env python# _*_ coding: utf-8 _*_import pymysql# 连接mysql用到的4...

2019-09-11 14:53:11 577

原创 Centos7系统中oracle数据库导入sql文件乱码问题解决

使用sqlplus 查看oracle数据库的字符集SQL> select userenv('language') from dual; USERENV('LANGUAGE')----------------------------------------------------AMERICAN_AMERICA.ZHS16GBKoracle客户端字符集由NLS_LANG参数...

2019-08-22 15:56:40 643

原创 扩容oracle表空间脚本

在运维过程中隔段时间会出现核心数据表空间和 临时表空间满导致数据库崩溃的情况发生,未避免发生类似情况编写检测表空间使用情况,配合计划任务超过一定比例后自动扩容。TEMP表空间不建议自扩展,而数据文件因数量大一般新的文件直接给20G或31G所以也没有做自扩展,直接添加数据文件。脚本如下:#!/bin/bash#Automatic expansion SMSDB_DATA and TEMP...

2019-08-09 12:59:28 449

原创 Linux 误删除文件恢复实践

俗言道,常在河边走哪有不湿鞋。在日常运维的过程中难免会误删除一些文件,或目录,甚至于rm -rf /* 的操作。linux系统不像windows删除了还有个回收站可以恢复。如果是无关紧要的文件自然不必担心,要是公司特别重要的数据呢?难道只能跑路了吗?当然不是了。对误删除还原分为两种情况,使用两种不同的方法:删除后进程中存在删除信息 删除后进程中找不到删除信息接下来分别演示两种不同...

2019-08-02 14:39:55 356

原创 Shell和Python中的换行符替换

Shell中替换换行符的多种方式文本内容# cat second.txt 25506133333333314223350201217882方法1:使用 echo# echo `cat second.txt`25 50 61 33 33 33 33 31 42 23 3 50 20 121 78 82方法2:使用sed# sed ...

2019-08-02 14:37:16 1701

原创 Centos7.4 python2.7 升级到python3.7

在学习django 过程中,看了好多教程全是2.0以上版本,系统自带的python2.7 并不支持。只好升级下python版本原有版本[root@localhost HelloWorld]# python -VPython 2.7.5下载wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz解压安装...

2019-07-18 18:02:06 1569

原创 MySQL 优化之 wait_timeout

最近一直在捣鼓zabbix 优化的问题,系统的做了一遍优化,性能,稳定性提升了不少。但是内存使用率高居不下,起初认为会mysql一直占用那么多内存,不会释放。其实不然,最近在观察,mysql进程连接的时候发现很多sleep进程时长上千秒,如果这么多空闲进程存在的话,新的连接进来就要重新创建,又消耗了一部分系统资源,而原来的并没有释放,但是又什么事都没做,岂不是浪费。对此进行了一番考究。怎么知道...

2019-07-16 14:31:17 2227

原创 Mysql 删库后 用binlog日志 恢复到最新数据

MySQL的binlog日志是MySQL日志中非常重要的一种日志,记录了数据库所有的DML操作。通过binlog日志我们可以进行数据库的读写分离、数据增量备份以及服务器宕机时的数据恢复。每个业务数据库必然都会定期做备份。可以在误删除或磁盘故障的时候将丢失的数据快速恢复。但是可以想想备份都是在固定时间点。不能完全恢复到最新的数据,这是不能接受的。试想一下,在主从架构中误操作把主库的数据...

2019-07-12 11:17:29 551

原创 Linux 不同系统安装 memcached

Linux系统安装memcached 依赖libevent库# Ubuntu系统安装sudo apt-get install libevent ibevent-dev# Redhat/Centosyum -y install libevent libevent-devel安装memcachedRedhat系yum安装yum -y install memcached...

2019-07-10 17:48:46 174

原创 redis 之如何访问海量数据。

如何访问Redis中海量数据,服务不会受影响?我们知道使用keys可以找出想要的结果,但是redis有一个很关键的特性:单线程。keys算法是遍历算法,复杂度是0(n),数据越多时间越高。keys指令会顺序执行,这将导致线程阻塞一段时间,直到执行完毕。想象一下如果一次找出几百万以上的数据,执行keys命令会带来什么后果?卡顿,假死。如果是重要的核心业务恐怕要造成不小的损失。那么我们如...

2019-07-10 14:31:26 414

原创 Oracle 定时备份shell脚本

根据日期来进行不同级别的备份#!/bin/bash# chkconfig: 345 99 10#Choose to run the script by week#The script will automatically choose the backup leveltime=$(date +%A)ora=$(ps aux | grep ora | grep -v "grep" ...

2019-07-09 15:52:12 391

原创 zabbix 监控oracle 各种脚本

监控归档日志脚本#!/bin/bashsource ~/.bash_profilefunction check {sqlplus -S "/ as sysdba" << EOFspool /tmp/archived.log # spool 将执行的结果输出到文件当中select * from v\$flash_recove...

2019-07-05 16:20:14 2923 2

原创 MySQL表插入中文错误:ERROR 1366 (HY000): Incorrect string value: '\xE8\x87\xAA\xE5\x8A\xA8...'

插入语句insert into ops_user(username,password,duties,age,gender,entry_time) values('beckham','123456','自动化运维','43','男','20190313');错误信息ERROR 1366 (HY000): Incorrect string value: '\xE8\x87\xAA\xE...

2019-07-03 11:32:40 1404

原创 MySQL修改bin-log 日志保存天数以及文件大小限制

修改MySQL的bin-log日志过期时间要在主库上来做。如果mysql只有一个单节点,同样适用查看当前过期时间mysql> show variables like '%logs_days%';+------------------+-------+| Variable_name | Value |+------------------+-------+| ex...

2019-06-28 14:21:01 5132

原创 zabbix优化之mysql数据库表分区

参考文档:https://www.zabbix.org/wiki/Docs/howto/mysql_partition前面介绍了zabbix优化中zabbix_server.conf 以及my.cnf的配置优化,具体优化参数还要根据实际使用时间和情况慢慢的来做调整这一篇只介绍对zabbix库中的几个大表做分区处理。将磁盘IO降低,加快处理速度。zabbix库中需要分区的几个大...

2019-06-26 14:49:39 2294 2

原创 centos7 编译安装zabbix4.0

环境介绍系统:Centos7.4运行环境:LAMP(yum 安装)zabbix版本:zabbix-4.0.3.tar.gz开始安装环境准备# 永久关闭selinux[root@localhost ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config 临时关闭[root@loc...

2019-06-26 14:04:11 3542 2

原创 Zabbix4.0性能优化

一大早收到告警信息,发现有几台服务器的zabbix_agent均无法访问一段时间又恢复了。到了公司赶忙到服务器上一查究竟。排查中发现大量的io wait 磁盘使用率爆满。使用命令查看磁盘IOiostat -x 2 iotop 查看如下,果然是mysql的线程产生的大量IO查看监控队列已经不少了大量的IO堵塞导致agent推送过来的数据长时间无法得到处理...

2019-06-21 17:32:39 6866

原创 MySQL存储引擎简介——>《高性能MySQL》

在文件系统中,Mysql将每个数据库(也可以称之为schmea)保存为数据目下的一个子目录。数据库和表的定义都使用文件系统的目录和文件来保存,大小写敏感和具体的平台密切相关。在Windows中,大小写是不敏感的,而类Unix中则是敏感的。不同的存储引擎保存数据和索引的方式是不同的,,但表的定义则是在MySQL服务层统一处理。可以使用如下命令查看表的相关信息;SHOW TABLE S...

2019-06-14 16:49:21 366

原创 MySQL逻辑架构与相关知识 ———>《高性能MySQL》

MySQL逻辑架构如果能在脑海中构建一副MySQL各组件之间如何协同工作的,架构图,就会有助于深入理解MySQL服务器。1.MySQL逻辑架构展示最上层的服务并不是MySQL独有的,大多数基于网络的客户端/服务器工具或者服务都有类似的架构,比如连接服务器,授权认证,安全认证等等。第二层架构是MySQL比较有意思的部分,大多数MySQL的核心功能都在这一层,包括查询解析,分析,优...

2019-06-12 18:00:19 424

转载 Mysql几种索引类型的区别及适用场景

Mysql几种索引类型的区别及适用情况 - 愚安 - 博客园 Mysql几种索引类型的区别及适用情况 如大家所知道的,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。那么,这几种索引...

2019-06-12 14:13:05 2158

原创 linux 查看最近登录ip 以及历史命令执行日期

Linux last 命令用于显示用户最近登录信息。使用权限:所有使用者。[root@izbp14l3cm2lfnl5gf4kqmz ~]# last -10 //表示只显示10行 [root@izbp14l3cm2lfnl5gf4kqmz ~]# last -n 5 -a -i //显示5行且主机IP显示为最后一列history命令 用于显示历史使用...

2019-06-12 11:08:28 25372

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除