bin

ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

China☆狼群 提交于 2019-12-01 15:21:57
ELK平台介绍 日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。 通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。 集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。 开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。 官方网站: https://www.elastic.co/products Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。 Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。 Kibana

python基础--几个特性

冷暖自知 提交于 2019-12-01 13:52:51
1、helloword程序的解释 #!/usr/bin/python3 print("Hello, World!") 关于脚本第一行的 #!/usr/bin/python 的解释,相信很多不熟悉 Linux 系统的同学需要普及这个知识,脚本语言的第一行,只对 Linux/Unix 用户适用,用来指定本脚本用什么解释器来执行。 有这句的,加上执行权限后,可以直接用 ./ 执行,不然会出错,因为找不到 python 解释器。 #!/usr/bin/python 是告诉操作系统执行这个脚本的时候,调用 /usr/bin 下的 python 解释器。 #!/usr/bin/env python 这种用法是为了防止操作系统用户没有将 python 装在默认的 /usr/bin 路径里。当系统看到这一行的时候,首先会到 env 设置里查找 python 的安装路径,再调用对应路径下的解释器程序完成操作。 #!/usr/bin/python 相当于写死了 python 路径。 #!/usr/bin/env python 会去环境设置寻找 python 目录,可以增强代码的可移植性,推荐这种写法。 分成两种情况: (1)如果调用 python 脚本时,使用: python script.py #!/usr/bin/python 被忽略,等同于注释 (2)如果调用python脚本时,使用: .

【原】iptables 交叉编译

五迷三道 提交于 2019-12-01 12:40:06
IPTABLES 有利于在 Linux 系统上更好地控制 IP 信息包过滤和 防火墙 配置。 防火墙在做数据包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的数据包过滤表中,而这些表集成在 Linux 内核中。在数据包过滤表中,规则被分组放在我们所谓的链(chain)中。而netfilter/iptables IP 数据包过滤系统是一款功能强大的工具,可用于添加、编辑和移除规则。 虽然 netfilter/iptables IP 信息包过滤系统被称为单个实体,但它实际上由两个组件netfilter 和 iptables 组成。 netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。 iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。除非您正在使用 Red Hat Linux 7.1 或更高版本,否则需要下载该工具并安装使用它。 1、下载iptables https://git.netfilter.org/iptables/ git clone git://git.netfilter.org/iptables 2、进入下载包,执行autogen.sh,得到configure文件。 3、配置交叉编译器 .

MySQL基于Amoeba实现读写分离

瘦欲@ 提交于 2019-12-01 12:31:12
在实际的生活环境中,如果对数据库的读和写都在同一个数据库服务中操作,无论是在安全性,高可用还是高并发等各个方面都不能完全满足实际需求的,因此一般来说都是通过主从复制的方式来同步数据,再通过读写分离来提升数据的高并发负载能力这样的方案来进行部署。 读写分离就是只在主服务器上写,只在从服务器上读,基本的原理是让主数据库处理事务性查询,而从数据库处理select查询,数据库复制被用来把事务性查询导致的改变更新同步到集群中的从数据库。 目前较为常见的MySQL读写分离方案有两种: 1.基于程序代码内部实现: 根据select,insert进行路由分类,是目前生产环境应用最广泛的,优点是性能好,因为在代码中实现,不需要增加额外的设备作为硬件开支,缺点是需要开发人员来实现,运维人员无从下手。 2.基于中间代码层实现: 代理一般位于客户端和服务器之间,代理服务器接到客户端请求后通过判断后转发到后端数据库,代表性程序: ( 1 ) mysql-proxy 为 mysql 开发早期开源项目,通过其自带的 lua 脚本进行 SQL 判断,虽然是 mysql 的官方产品,但是 mysql 官方不建议将其应用到生产环境。 ( 2 ) Amoeba (变形虫)由陈思儒开发,曾就职与阿里巴巴,该程序由 java 语言进行开发,阿里巴巴将其应用于生成环境,它不支持事物和存储过程。 通过程序代码实现 mysql

Linux下的crontab定时执行任务命令详解

家住魔仙堡 提交于 2019-12-01 12:16:33
在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。 cron的配置文件称为“crontab”,是“cron table”的简写。 一、cron服务   cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。   service crond start //启动服务   service crond stop //关闭服务   service crond restart //重启服务   service crond reload //重新载入配置   service crond status //查看服务状态 二、cron在3个地方查找配置文件: 1、/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。一般一个用户最多只有一个crontab文件。 三、/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/

Ubuntu16 编译安装Python3.6

烈酒焚心 提交于 2019-12-01 11:55:10
一、下载 替换Ubuntu16的阿里源, 参考官方配置 apt-get upate # 安装必要组件 apt-get install openssl htop iftop libssl-dev zlib1g-dev make gcc wget python3-pip wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tar.xz 二、解压 xz -d Python-3.6.9.tar.xz tar -xvf Python-3.6.9.tar 三、安装 cd Python-3.6.9 #此处注意,一定要加上 --with-ssl参数,否则安装完成之后使用pip会出现ssl错误 ./configure --with-ssl --prefix=/usr/bin/python3.6 make && make install rm /usr/bin/python ln -s /usr/bin/python3.6/bin/python3.6 /usr/bin/python 四、设置pip rm /usr/bin/pip /usr/bin/pip3 ln -s /usr/bin/python3.6/bin/pip3 /usr/bin/pip 来源: https://www.cnblogs.com/stationing/p

python中#!/usr/bin/python与#!/usr/bin/env python的区别

喜你入骨 提交于 2019-12-01 11:47:16
目的是在运行python脚本的时候告诉操作系统我们要用python解释器去运行py脚本 所以我们在第一句往往会写如下两句中的其中一句: #!/usr/bin/python 或 >#!/usr/bin/env python 就是说在没有在执行程序时指出用什么程序运行py脚本时,系统会去调用python程序来执行。 举个简单的例子: 我们在linux环境下写一个最简单的python脚本 vim hello.py #!/usr/bin/python 或者#!/usr/bin/env python print ‘ helloworld! 编写完成后正常我们在会输入命令: python hello.py来执行这个脚本,但是因为有了第一行的声明,所以我们只要是给这个py脚本添加可执行权限,那我们就可以直接 ./hellp.py 来执行了。   在这里还是要推荐下我自己建的 Python开发学习群:725479218 ,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2018最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴 #!/usr/bin/python与#!/usr/bin/env python的区别是? 明白了写第一句语句的初衷后

ubuntu安装本地kafka

故事扮演 提交于 2019-12-01 11:41:16
1.下载kafka_2.11-1.0.0.tgz http://kafka.apache.org/downloads 解压 tar -zxvf kafka_2.11-2.3.0.tgz cd kafka_2.11-2.3.0 2.启动服务器 需要先启动ZooKeeper,kafka内置提供了一个ZooKeeper服务器以及一组相关的管理脚本,使用内置的ZooKeeper即可: bin/zookeeper-server-start.sh config/zookeeper.properties 出现INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)表示ZooKeeper已经成功地在端口2181上启动了。 启动Kafka服务器: 需要在/config/server.properties上添加: advertised.host.name=10.10.15.14 再执行kafka启动命令: bin/kafka-server-start.sh config/server.properties 控制台输出INFO [KafkaServer id=0] started (kafka.server.KafkaServer)表示Kafka服务器启动成功

Android : First step – Download and build

余生颓废 提交于 2019-12-01 11:24:07
This document provides a wiki for setting up a local environment on Linux Ubuntu to work on Android source code. 1. Getting Android source code a. Prerequisites : Android build requires some tools. Some of them are automatically installed while Linux is installed. Other can be installed using following command from shell: $ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl sun-java5-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev b. Repo : repo is infact a shell script

Shell 编程 编辑工具 awk

China☆狼群 提交于 2019-12-01 10:36:14
本篇主要写一些 shell 脚本编辑工具 awk 的使用。 概述 awk 是一个功能强大的编辑工具,逐行读取输入文本,并根据指定的匹配模式进行查找,对符合条件的内容进行格式化输出或者过滤处理。 awk 倾向于将一行分成多个字段然后再进行处理,且默认情况下字段的分隔符为 空格 或者 tab 键。 awk 执行结果可以通过 print 的功能将字段数据打印显示。 可以使用逻辑操作符 && ,表示 与 , || 表示 或 , ! 表示 非 ;还可以进行简单的数学运算,如 + 、 - 、 * 、 / 、 % 、 ^ 分别表示 加 、 减 、 乘 、 除 、 取余 和 乘方 。 命令常见用法 命令有两种格式: awk [选项] '模式或条件{编辑指令}' 文件 1 文件 2... awk -f 脚本文件 文件 1 文件 2... 常见的内置变量 FS :指定每行文本的字段分隔符,默认为空格或制表位。 NF :当前处理的行的字段个数。 NR :当前处理的行的行号(序数)。 $0 :当前处理的行的整行内容。 $n :当前处理行的第 n 个字段(第 n 列)。 RS :数据记录分隔,默认为 \n ,即每行为一条记录。 FILENAME :被处理的文件名。 示例 按行输出文本 输出所有内容 [root@localhost ~]# awk '{print}' /etc/passwd root:x:0