host

Nagios监控部署(一)

不羁岁月 提交于 2019-12-27 09:58:37
Nagios部署(一) 1) 安装准备 系统:redhat7.1(监控端)、centos6.5(被监控端) 软件:nagios-cn-3.2.3.tar.bz2、gd-devel-2.0.35-26.el7.x86_64.rpm、nagios-plugins-2.1.1.tar.gz | 主机名 | IP地址 | 角色 | | ------------------| -------------- |-------------------| | host.mystudy.com | 192.168.1.183 | 监控端 | | chunlin | 139.199.181.155| 被监控端1(远程) | | client5 | 192.168.1222.15| 被监控端2(同网段)| 防火墙:关闭 SELinux:Disabled 时间:保持同步 2) 安装nagios [root@host ~]# yum install -y httpd [root@host ~]# yum install -y gd-devel-2.0.35-26.el7.x86_64.rpm [root@host ~]# mkdir /usr/local/nagios [root@host ~]# useradd -s /sbin/nologin nagios [root@host ~]# groupadd

[UWP]使用GetAlphaMask制作阴影

只谈情不闲聊 提交于 2019-12-27 07:42:25
1. 前言 最近常常接触到GetAlphaMask,所以想写这篇文章介绍下GetAlphaMask怎么使用。其实GetAlphaMask的使用场景十分有限,Github上能搜到的内容都是用来配合DropShadow的,所以这篇文章也以介绍DropShadow为主。 2. 合成阴影 先介绍一下合成阴影。Compositor.CreateDropShadow()可以创建一个DropShadow,将这个DropShadowDropShadow赋值到SpriteVisual的Shadow属性,然后使用ElementCompositionPreview.SetElementChildVisual 将这个SpriteVisual设置到某个UIElement的可视化层里,再将这个UIElement放到需要阴影的元素后面,这样基本的合成阴影就完成了。 具体代码如下: <Grid VerticalAlignment="Center" HorizontalAlignment="Center"> <Grid x:Name="BackgroundGrid"/> <Grid Background="Turquoise" x:Name="Host"> <TextBlock Text="I need shadow" Foreground="White" HorizontalAlignment="Center"

Building System之 get_abs_build_var() && get_build_var()

无人久伴 提交于 2019-12-27 04:10:56
点击打开链接 1、get_abs_build_var() 和 get_build_var()的实现都在build/envsetup.sh中。 2、在buld目录下grep这两个函数可知:这两个函数只在build/envsetup.sh脚本中使用。 言归正传,贴代码 [plain] view plain copy # Get the value of a build variable as an absolute path. function get_abs_build_var() { T=$(gettop) if [ ! "$T" ]; then echo "Couldn't locate the top of the tree. Try setting TOP." >&2 return fi (\cd $T; CALLED_FROM_SETUP=true BUILD_SYSTEM=build/core \ command make --no-print-directory -f build/core/config.mk dumpvar-abs-$1) } # Get the exact value of a build variable. function get_build_var() { T=$(gettop) if [ ! "$T" ]; then echo "Couldn

Prometheus监控学习笔记之Prometheus存储

我只是一个虾纸丫 提交于 2019-12-27 03:55:02
0x00 概述 Prometheus之于kubernetes(监控领域),如kubernetes之于容器编排。 随着heapster不再开发和维护以及influxdb 集群方案不再开源,heapster+influxdb的监控方案,只适合一些规模比较小的k8s集群。而prometheus整个社区非常活跃,除了官方社区提供了一系列高质量的exporter,例如node_exporter等。Telegraf(集中采集metrics) + prometheus的方案,也是一种减少部署和管理各种exporter工作量的很好的方案。 今天主要讲讲我司在使用prometheus过程中,存储方面的一些实战经验。 0x01 Prometheus 储存瓶颈 通过prometheus的架构图可以看出,prometheus提供了本地存储,即tsdb时序数据库。本地存储的优势就是运维简单,缺点就是无法海量的metrics持久化和数据存在丢失的风险,我们在实际使用过程中,出现过几次wal文件损坏,无法再写入的问题。 当然prometheus2.0以后压缩数据能力得到了很大的提升。为了解决单节点存储的限制,prometheus没有自己实现集群存储,而是提供了远程读写的接口,让用户自己选择合适的时序数据库来实现prometheus的扩展性。 prometheus通过下面两种方式来实现与其他的远端存储系统对接

TCP_Wrappers访问控制

安稳与你 提交于 2019-12-27 03:54:14
一、TCP_Wrappers简介 对有状态连接的特定服务进行安全检测并实现访问控制,它以库文件形式实现,某进程是否接受libwrap的控制取决于发起此进程的程序在编译时是否针对libwrap进行编译的,判断服务程序是否能够由tcp_wrapper进行访问控制的方法: ldd /PATH/TO/PROGRAM|grep libwrap.so strings PATH/TO/PROGRAM|grep libwrap.so 例sshd: [ root@newhostname 1372 ] # which sshd /usr/sbin/sshd [ root@newhostname 1372 ] # ldd /usr/sbin/sshd | grep libwrap libwrap.so .0 => /lib64/libwrap.so .0 ( 0x00007f5659d39000 ) [ root@newhostname 1372 ] # strings /usr/sbin/sshd | grep libwrap libwrap.so .0 libwrap refuse returns 它通过/etc/hosts.allow, /etc/hosts.deny这两个配置文件来对来访支持tcp_warppers模块的服务的ip进行访问限制。 这两个配置文件的读取顺序优先allow

Linux特殊符号浅谈

喜欢而已 提交于 2019-12-27 03:39:47
Linux 特殊字符浅谈 我们经常跟键盘上面那些特殊符号比如(? 、 ! 、 ~...) 打交道,其实在 Linux 有其独特的含义, 大致可以分为三类:Linux特殊符号、通配符、正则表达式。 Linux 特殊符号 又可以分以下几类 1 、 管道符号 字符 名称 功能描述 | 管道 传递的普通的字符串,来自于前一个命令 |xargs 管道流转换 与 xargs 传递的是把字符串变成了文件名 2、 目录结构 字符 名称 功能描述 . 当前目录 .. 当前目录上一级目录 3 、 重定向符号 字符 名称 功能描述 > 输出重定向 会清空原文以及内容 然后在向文件里面追加内容 >> 追加输出重定向 追加到文件最后一行 < 输入重定向 文本内容输入 tr xargs << 追加输入重定向 用于给文件追加多行文本 cat 4 、 其他特殊符号 字符 名称 功能描述 # 注释 Linux 注释,另 #root 超级用户提示符 $ 变量符号 shell 、 $ 变量取值、 AWK 取列 等 && 表示并且 前面部分执行成功才执行后面的部分 || 表示或者 前面部分执行失败才执行后面的部分 `` Shell 执行命令 引用命令的结果 ; 命令分割 一行分割多个命令,没有逻辑联系 ‘’ 设置字符串变量 不具有变量置换功能,输出时所见即所得 “” 设置字符串变量 具有变量置换功能,解析变量输出 {}

Nginx反向代理中使用proxy_redirect重定向url

旧城冷巷雨未停 提交于 2019-12-27 01:16:10
在使用Nginx做反向代理功能时,有时会出现重定向的url不是我们想要的url,这时候就可以使用proxy_redirect进行url重定向设置了。proxy_redirect功能比较强大,其作用是对发送给客户端的URL进行修改!! 语法 :proxy_redirect [ default|off|redirect replacement ]; 默认 :proxy_redirect default; 配置块(使用的字段) :http、server、location 当上游服务器返回的响应是重定向或刷新请求(如HTTP响应码是301或者302)时,proxy_redirect可以重设HTTP头部的location或refresh字段。 location /login { proxy_pass http://target_servers/login ; } 如果需要修改从被代理服务器传来的应答头中的"Location"和"Refresh"字段,这时候就可以用proxy_redirect这个指令设置。 假设被代理服务器返回Location字段为http://localhost:8000/kevin/some/uri/ proxy_redirect http://localhost:8000/kevin/ http://frontend/one/; 将Location字段重写为http:/

docker存储

放肆的年华 提交于 2019-12-26 23:17:49
一、docker 存储 1. storage driver 容器由最上面一个可写的容器层,以及若 干只读的镜像层组成,容器的数据就存放 在这些层中。这样的分层结构最大的特性 是 Copy-on-Write: 1.新数据会直接存放在最上面的容器层。 2.修改现有数据会先从镜像层将数据复制 到容器层,修改后的数据直接保存在容器 层中,镜像层保持不变。 3.如果多个层中有命名相同的文件,用户 只能看到最上面那层中的文件。 分层结构使镜像和容器的创建、共享以及分发变得非常高效,而这些都要归功于 Docker storage driver 2.storage driver 选型 Docker 支持多种 storage driver,有 AUFS、Device Mapper、Btrfs、OverlayFS、VFS 和 ZFS。它们都能实现分层的架构,同时又有各自的特性。对于 Docker 用户来说,具体 选择使用哪个 storage driver 是一个难题,因为: 1.没有哪个 driver 能够适应所有的场景。 2.driver 本身在快速发展和迭代。 不过 Docker 官方给出了一个简单的答案: 优先使用 Linux 发行版默认的 storage driver。 二、Data Volume Data Volume 本质上是 Docker Host 文件系统中的目录或文件,能够直接被

Docker系列13:容器编排(1)

爱⌒轻易说出口 提交于 2019-12-26 21:30:37
一、容器编排基础 1、容器编排概念 可以指定各个容器中的程序是有依赖关系的 比如有个web服务必须在mysql正常的情况下,才能运行,那么这个时候就是web容器是依赖mysql容器的,只有mysql容器正常启动,web容器才能启动。 2、容器编排工具 docker compose k8s k3s 二、compose详解 1、什么是compose Docker Compose 将所管理的容器分为三层,分别是工程(project)、服务(service)、容器(container) Docker Compose 运行目录下的所有文件(docker-compose.yml)组成一个工程,一个工程包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖,一个服务可包括多个容器实例 2、安装compse 方法1:用提供的这个conpose文件,将这个文件放到/usr/local/bin 方法2:用epel和extra源中的安装包 1)配置yum源 [root@host1 ~]# cat /etc/yum.repos.d/epel.repo [epel] name=epel baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7Server/x86_64/ enabled=1 gpgcheck=0 2)安装docker-compose [root