日志分类:运维技术

VMware Horizon 7.12 安装与部署

分类:虚拟化日期:2020-09-06 - 20:02:23评论:5条作者:老谢

  通过部署Horizon虚拟化,用户可以在任何地方访问此环境,用户将桌面数据全部放置在数据中心服务器里,管理员可以进行集中式管理,从而提高效率和增强了安全性,并且可以使用配置较低的PC或瘦客户机访问虚拟桌面环境来降低成本。

组件

Horizon Client:包括Windows、MAC OS、Linux平台,可以让用户通过各种硬件来访问虚拟桌面
Horizon Agent:通过与Horizon Client连接来为用户提供连接监视,虚拟打印USB映射等功能
Horizon Connection Server:充当客户端的连接点,HCS通过Windows AD对用户提供身份验证,并将连接请求发到相应的虚拟机或服务器
Horizon Composer:从指定的父虚拟机创建链接克隆池,和vCenter可以安装在同一台服务器上,用来管理虚拟镜像,节约磁盘资源
Horizon ThinApp:将应用程序封装到虚拟化的沙箱中
Client Device:客户通过笔记本、PC、瘦客户端设、MAC或平板访问虚拟桌面,只要打开Horizon Client就能显示Horizon的桌面。瘦客户端借助瘦客户端软件,管理员可以进行配置,让Horizon Client成为用户在瘦客户端上唯一能直接启动的应用程序,将传统PC作为瘦客户端使用

规划
服务器类型
计算机名称
ip地址
所需软件
vSphere ESXi
esxi-01
192.168.1.101
VMware-VMvisor-Installer-6.7.0.update03-14320388.x86_64-DellEMC_Customized-A02.iso
vSphere ESXi
esxi-02
192.168.1.102
VMware-VMvisor-Installer-6.7.0.update03-14320388.x86_64-DellEMC_Customized-A02.iso
vSphere ESXi
esxi-03
192.168.1.103
VMware-VMvisor-Installer-6.7.0.update03-14320388.x86_64-DellEMC_Customized-A02.iso
vSphere vCenter
vc.silyer.net
192.168.1.121
VMware-VCSA-all-6.7.0-15132721.iso
Domain Controller
view-ad.silyer.net
192.168.1.131
cn_windows_server_2012_r2_vl_x64_dvd_2979220.iso
Connection Server
view-connect.silyer.net
192.168.1.132
cn_windows_server_2012_r2_vl_x64_dvd_2979220.iso
VMware-Horizon-Connection-Server-x86_64-7.12.0-15770369.exe
Composer Server
view-composer.silyer.net
192.168.1.133
cn_windows_server_2012_r2_vl_x64_dvd_2979220.iso
VMware-viewcomposer-7.12.0-15747753.exe
cn_sql_server_2012_standard_edition_x86_x64_dvd_813404.iso
View Clone Agent
vwin7-agent.silyer.net
DHCP
cn_windows_7_enterprise_with_sp1_x64_dvd_u_677685.iso
VMware-Horizon-Agent-x86_64-7.12.0-15805436.exe

继续阅读…

Tags: , , ,

zabbix监控tracert路由

分类:linux日期:2020-05-12 - 21:22:20评论:2条作者:老谢

  不知道哪位大神最近在做法机房攻击频发,一被攻击路由就绕路,为了监控发生频率故需对路由进行监控,思路为使用BESTTRACE来追踪理由,利用bash脚本对追踪结果进行分析,并交由zabbix做映射值。

安装BESTTRACE

  BESTTRACE是ipip.net推出的Linux版路由追踪工具,可以替代traceroute命令,该工具可以输出json数据,及查ip所属地和AS号,但实际情况发现查询频率过高,会导致返回503错误,可能是ipip.net做了请求限制,避免滥用。

wget http://cdn.ipip.net/17mon/besttrace4linux.zip
unzip besttrace4linux.zip
chmod +x besttrace
mv besttrace /usr/sbin/
chmod +s /usr/sbin/besttrace
外部脚本监控
cd /usr/local/zabbix/share/zabbix/externalscripts
vim besttrace.sh
 
#!/bin/bash
IP=$1
var=$RANDOM
/usr/sbin/besttrace -q 1 -l -a $IP > /tmp/besttrace/tmp.$var
if [ `grep -c -E 'jp|tko' /tmp/besttrace/tmp.$var` != 0 ]; then
	if [ `grep -c -E '219.158' /tmp/besttrace/tmp.$var` != 0 ]; then
		echo "1"
	else
		echo "2"
	fi
elif [ `grep -c -E 'us' /tmp/besttrace/tmp.$var` != 0 ]; then
	if `grep -c -E '219.158' /tmp/besttrace/tmp.$var` != 0 ]; then
		echo "3"
	else
		echo "4"
	fi
elif [ `grep -c -E 'he.net' /tmp/besttrace/tmp.$var` != 0 ]; then
                echo "5"
else
    echo "0"
fi
rm -rf /tmp/besttrace/tmp.$var
映射值

0 ⇒ 正常
1 ⇒ 联通-日本
2 ⇒ 电信-日本
3 ⇒ 联通-美国
4 ⇒ 电信-美国
5 ⇒ he.net

  bash写的太烂,各位大佬指正。

Tags:

Nginx使用stream模块反代TCP端口

分类:linux日期:2020-04-07 - 11:25:15评论:2条作者:老谢

  首先要确认Nginx有没有编译stream模块进去,使用nginx -V来查看,如果看到–with-stream则表示编译进去了,如果没用重新编译加入stream参数即可,配置字段要加到nginx.conf下面:

stream {
        server {
                listen 12345;
                proxy_pass 1.1.1.1:1111;
                proxy_buffer_size 512k;
                proxy_connect_timeout 30s;
                proxy_timeout 30s;
                #allow 127.0.0.0/24;
                #deny all;
        }
                server {
                listen 1083;
                proxy_pass 2.2.2.2:1080;
                proxy_buffer_size 512k;
                proxy_connect_timeout 30s;
                proxy_timeout 30s;
                #allow 127.0.0.0/24;
                #deny all;
        }
}

listen:后面填写源端口(也就是当前服务器端口),默认协议为TCP,可以指定为
proxy_connect_timeout:连接超时时间
proxy_timeout:超时时间
proxy_pass:填写转发目标的IP及端口号

Tags: ,

CentOS7配置JDK环境变量

分类:linux日期:2020-03-05 - 10:26:39评论:0条作者:老谢

  http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载Linux x64 Compressed Archive版本最新的安装包。

tar -zxf jdk-8u241-linux-x64.tar.gz
mkdir /usr/local/java/
mv jdk1.8.0_241/ /usr/local/java/
vim /etc/profile

  添加以下:

export JAVA_HOME=/usr/local/java/jdk1.8.0_241
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source /etc/profile
ln -s /usr/local/java/jdk1.8.0_241/bin/java /usr/bin/java
java -version
Tags: , ,

Ubuntu 18.04 LTS安装NetBox v2.6.12

分类:运维技术日期:2020-01-14 - 23:59:13评论:0条作者:老谢

  NetBox是一款IP地址管理(IPAM)和数据中心基础结构管理(DCIM)工具,原本在用racktales,但是在某群看到有哥们发出NetBox的截图后,起码看起来比racktales的ui现代化一点,于是折腾一把试试看。

项目地址:https://github.com/netbox-community/netbox
官方文档:https://netbox.readthedocs.io/en/stable/
参考文档:https://computingforgeeks.com/how-to-install-netbox-on-centos-7-with-apache-and-supervisord/

  • IP address management (IPAM) – IP networks and addresses, VRFs, and VLANs
  • Equipment racks – Organized by group and site
  • Devices – Types of devices and where they are installed
  • Connections – Network, console, and power connections among devices
  • Virtualization – Virtual machines and clusters
  • Data circuits – Long-haul communications circuits and providers
  • Secrets – Encrypted storage of sensitive credentials
安装PostgreSQL
apt-get update
apt-get install -y postgresql libpq-dev
# sudo -u postgres psql
psql (9.4.5)
TYPE "help" FOR help.
 
postgres=# CREATE DATABASE netbox;
CREATE DATABASE
postgres=# CREATE USER netbox WITH PASSWORD 'J5brHrAXFLQSif0K';
CREATE ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;
GRANT
postgres=# \q
 
psql -U netbox -W -h localhost netbox

继续阅读…

超微主板使用ipmicfg重置IPMI密码

分类:运维技术日期:2019-05-08 - 2:47:37评论:1条作者:老谢

  有一台Xenserver服务器由于思杰停止授权,需要升级,但是忘记了IPMI密码,所以需要进行重置,超微主板官方提供了ipmicfg工具可以进行重置,运行平台支持DOS、Windows、Linux。工具下载链接:ftp://ftp.supermicro.com/utility/IPMICFG/IPMICFG_1.27.1_build.170901.zip,下载完了上传到Xenserver的根目录,通过getconf LONG_BIT看一下系统是32还是64位,然后使用对应版本的ipmicfg程序。

  详情:https://www.supermicro.org.cn/en/solutions/management-software/ipmi-utilities

查看IPMI的IP配置信息
[root@localhost 32bit]# ./IPMICFG-Linux.x86 -m
IP=1.1.1.1
MAC=00:25:90:D2:E4:4B
查看当前用户列表
[root@localhost 32bit]# ./IPMICFG-Linux.x86 -user list
Maximum number of Users          : 10
Count of currently enabled Users : 2
User ID | User Name        | Privilege Level | Enable
------- | ---------        | --------------- | ------
      2 | ADMIN            | Administrator   | Yes
查看用户级别
[root@localhost 32bit]# ./IPMICFG-Linux.x86 -user help
For privilege level:
Administrator level : 4
Operator level      : 3
User level          : 2
Callback level      : 1

继续阅读…

Zabbix 数据库备份

分类:运维技术日期:2019-01-15 - 10:25:14评论:4条作者:老谢

  脚本主要是过滤掉保存监控数据的几个大表,因人而异,对我来说监控数据没了就没了,可以重新采集,但是剩下的监控配置,模板(我自建模板就100多个,如果丢了,我会哭的。),Action(这种东西都是各种匹配,调用丢了的话,真没法回逆),用户信息这些配置真的是非常重要。这样备份的好处,备份速度快,量小,重要的数据都备份了。恢复的时候呢,先建库,按照安装zabbix的时候导入数据库,导入那个主要就是为了创建几个历史表的结构,然后在拿这个备份导入,覆盖一下就行了。

#!/bin/bash
# @Date : 2016-06-07 09:25:56
# @Author : ukyomud (ukyomud@qq.com)
# @Filename :
# @Description :
PATH="/sbin:/usr/sbin:/bin:/usr/bin"
export PATH
# 数据库账号
NAME='zabbix'
# 登录密码
PASSWD='密码'
# 数据库备份路径
BAK_DIR="/workspace/zabbix_backup/zabbix_sql_backup"
# 备份日志的log
BAK_LOG_FILE="/var/log/zabbix_bk_log"
# 备份数据轮转天数
DEL_FILE_DAYS=7
# 当前时间
DATE_NOW=$(date +'%Y-%m-%d')
# 数据库主机
HOSTSER="数据库主机"
# 要过滤掉的数据表,这个可以根据自己的情况变更
FILTER_TABLE="history_uint|history|trends_uint|trends|history_text|alerts|events"
# 数据库连接端口
PORT=3306
# 判断有没有备份目录,没有的话创建一下。
[ -d $BAK_DIR ] || mkdir -p $BAK_DIR
# 过滤出要备份的表,一次备份。
for tablename in $(mysql -h"$HOSTSER" -u"$NAME" -p"$PASSWD" -P"$PORT" zabbix -e "show tables;" 2>/dev/null | grep -Ev "$FILTER_TABLE");do
 /usr/bin/mysqldump -N -h"$HOSTSER" -u"$NAME" -p"$PASSWD" -P"$PORT" zabbix ${tablename} >>${BAK_DIR}/zabbixdb.${DATE_NOW}.sql 2>>${BAK_LOG_FILE}
done
# 我个人习惯是单独有个zabbix目录,用来保存zabbix 调用的脚本。
# 所以这里顺道做了备份。
cd /workspace/zabbix_backup/zabbix_scripts_backup
tar czvf zabbix.tgz.$(date +%F) /workspace/zabbix
# 查找7天前的日志,进行删除。
find $BAK_DIR -type f -ctime +${DEL_FILE_DAYS} | xargs rm -f
find /workspace/zabbix_backup/zabbix_scripts_backup -type f -ctime +${DEL_FILE_DAYS} | xargs rm -f

内容更新于: 2017-07-26 18:06:58
链接地址: http://blog.leanote.com/post/xiaomi/Zabbix-%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%87%E4%BB%BD

Tags:

Zabbix监控Bind(DNS)解析状态状态

分类:linux日期:2018-12-12 - 22:06:09评论:0条作者:老谢

  通过BIND内置的监控模块提供统计数据,需在named.conf加入以下行打开该功能:

statistics-channels {
  inet 127.0.0.1 port 8053 allow { 127.0.0.1; };
};

  编辑/usr/local/zabbix/etc,加入:

UserParameter=bind.queries.in[*],curl http://127.0.0.1:8053/ 2>/dev/null | /usr/bin/xml2 | grep -A1 "/isc/bind/statistics/server/queries-in/rdtype/name=$1$" | tail -1 | cut -d= -f2
UserParameter=bind.queries.out[*],curl http://127.0.0.1:8053/ 2>/dev/null | /usr/bin/xml2 | grep -A1 "/isc/bind/statistics/views/view/rdtype/name=$1$" | tail -1 | cut -d= -f2
 
#注意,需要安装xml2,可以使用yum install xml2来安装

  PS:折腾一圈发现,模板里没有包含OUT的监控,而且命令执行后OUT是空的,不太熟悉bind-statistics输出的内容,以后再研究吧……

继续阅读…

Tags: , ,

Zabbix监控Apache性能

分类:linux, 运维技术日期:2018-11-24 - 14:39:19评论:0条作者:老谢

  和之前写过的Zabbix 3.2 agentd监控Nginx性能原理差不多,都是通过web引擎输出status信息来进行性能监控,一般情况下我们需要对ReqPerSec、BytesPerSec、BusyWorkers、IdleWorkers四个数据进行关注。

开启Apache Status
Listen 80
<VirtualHost *:80>
    CustomLog /dev/null common
    ErrorLog /dev/null
    <Location "/server-status">
        SetHandler server-status
        Require ip 127.0.0.1
    </Location>
</VirtualHost>

  我这里生产环境监控的是一台WHM服务器,默认开启apache status,访问地址为http://127.0.0.1:80/whm-server-status?auto,正常情况下应该如下页面内容:

Apache Server Status for 127.0.0.1 (via 127.0.0.1)
Server Version: Apache/2.4.37 (cPanel) OpenSSL/1.0.2p mod_bwlimited/1.4
Server MPM: prefork
Server Built: Oct 29 2018 18:29:24
Current Time: Thursday, 22-Nov-2018 13:48:50 CST
Restart Time: Thursday, 22-Nov-2018 13:48:35 CST
Parent Server Config. Generation: 1
Parent Server MPM Generation: 0
Server uptime: 15 seconds
Server load: 0.05 0.09 0.08
Total accesses: 7 – Total Traffic: 54 kB – Total Duration: 19687
CPU Usage: u.02 s0 cu0 cs0 – .133% CPU load
.467 requests/sec – 3686 B/second – 7.7 kB/request – 2812.43 ms/request
7 requests currently being processed, 4 idle workers

……………

继续阅读…

Tags: ,

Zabbix通过PSK共享密钥实现Server和Agent的通信加密

分类:linux, 运维技术日期:2018-11-22 - 14:23:58评论:2条作者:老谢

  Zabbix版本从3.0之后,开始支持Zabbix server, Zabbix proxy, Zabbix agent, zabbix_sender and zabbix_get之间的通信加密,加密方式有预共享密钥(PSK)和证书加密,加密配置是可选项,一些proxies和agents可以使用证书认证加密通信,另外一些可以使用PSK加密通信,而剩余的可以不使用加密进行通信,需要注意的是如果希望使用加密通信,编译的时候必须加入 –with-openssl参数。

生成并添加PSK共享密钥

  使用命令openssl rand -hex 32生产一串密钥,配置步骤如下:

[root@zabbix scripts]# openssl rand -hex 32
ef52cbe2d1a35e6bb3c43b22bd4f1a1d7bf24d1ccb7c47f6a602425970da5432
 
# 将生成的密钥写入该文件
vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/zabbix_agentd.psk
 
vim /usr/local/zabbix/etc/zabbix_agentd.conf
 
#加入
TLSConnect=psk
TLSAccept=psk
TLSPSKFile=/usr/local/zabbix/etc/zabbix_agentd.conf.d/zabbix_agentd.psk
TLSPSKIdentity=PSKTest
 
#配置完成后重启zabbix_agent进程
在zabbix web gui中添加

Zabbix通过PSK共享密钥实现Server和Agent的通信加密

测试命令
zabbix_get -s 127.0.0.1 -k "system.cpu.load[all,avg1]" --tls-connect=psk --tls-psk-identity="PSK 001" --tls-psk-file=/etc/zabbix/zabbix_agentd.conf.d/zabbix_agentd.psk
Tags: ,