首页 文章 精选 留言 我的

精选列表

搜索[搭建],共10007篇文章
优秀的个人博客,低调大师

使用docker搭建zabbix

概述 再次之前我们要知道zabbix的主要架构是怎样的,zabbix有一个server端是最主要的,主要是用来收集agent传来的数据然后进行处理等一系列操作,当然有server端肯定有agent端用来收集数据的,数据为了可以图形化展示给人们看那么就要有一个web端来展示数据和方便人们用来配置zabbix,接着单单一个server端收集数据可能会造成server端的压力过大,所以我们还需要有一个proxy端代替server端去接收数据,来减轻server端的压力,最后一个是数据库,我们要把收集起来的数据存到数据库中,这里我选择的是mysql,总的zabbix分为下面几个模块 zabbix-server zabbix-web zabbix-proxy zabbix-agent mysql 知道了这些之后我们就要使用docker镜像去组建这么一个架构,因为我是只用来服务器的,所以proxy就不需要了,选用的zabbix是4.0版本,最后我们需要下面几个docker镜像 docker pull zabbix/zabbix-server-mysql:alpine-trunkdocker pull zabbix/zabbix-web-nginx-mysql:alpine-trunkdocker pull zabbix/zabbix-agent:alpine-trunkdocker pull mysql:5.6 注:上面的所有镜像都是不支持arm架构的,所以如果你要用来监控树莓派,只能在树莓派上去编译agent 实验资源概述 首先我使用的就是一台阿里云的服务器是Ubuntu系统安装了docker 把数据库先跑起来 因为数据库是最最基础的,首先得让它跑起来才可以,不然zabbix的数据都放在哪里?首先在本地创建一个zabbix文件夹,以后容器中的所有数据都保存在里面mkdir zabbix之后输入下面命令运行容器docker run --name zabbix-mysql -d -v /root/zabbix/mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="woyaoxuehuilinux" mysql:5.6解释一下上面参数的意思--name就是指定容器的名字,-d就是把容器放在后台运行,-v就是把容器中的/var/lib/mysql目录和宿主机中的/root/zabbix/mysql-data目录做映射,这样容器删除了文件也不会丢失,-e后面指定的环境变量就是设置mysql密码,最后就是要使用的镜像的名字 把服务端zabbix-server跑起来 之后就是zabbix中比较核心的server端了,输入下面命令运行它docker run --name zabbix-server -p10051:10051 --link zabbix-mysql:mysql -v /root/zabbix/zabbix-server:/var/lib/zabbix -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_USER="root" -e MYSQL_PASSWORD="woyaoxuehuilinux" -d zabbix/zabbix-server-mysql:alpine-trunk解释一下参数--name就是给容器取个名字,-p就是把宿主机的10051端口和容器中的10051端口映射起来,--link就是把zabbix容器和mysql容器进行关联,防止ip地址变了连接不上,-v就是把容器中的zabbix-server的主目录和宿主机中的/root/zabbix/zabbix-server做映射,防止丢失非结构化的数据,-e参数就是指定数据库的环境变量,比如数据库的地址,因为我们前面做过和mysql容器的关联,所以只要写MySQL的容器名字就好了,之后就是mysql的账号和密码,-d表示让容器跑在后台,最后就是要使用的镜像的名字最后不要忘记了,因为用的是阿里云主机对应安全组的10051端口要打开 把服务端的zabbix-web跑起来 server起来了,接下来就是web端了,输入下面的命令把web端跑起来docker run --name zabbix-web --link zabbix-mysql:mysql -p80:80 -p443:443 --link zabbix-server:zabbix-server -v /usr/share/zabbix -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_USER="root" -e MYSQL_PASSWORD="woyaoxuehuilinux" -e ZBX_SERVER_HOST="zabbix-server" -e PHP_TZ="Asia/Shanghai" -d zabbix/zabbix-web-nginx-mysql:alpine-trunk这里我碰到过一个问题,就是我使用-v /zabbix-web:/use/share/zabbix 方式挂载zabbixweb的站点目录的时候,docker自动把容器中的目录/usr/share/zabbix内容全部删除了,我不知道这个是不是镜像的问题,所以导致最后/zabbix-web目录里面也是没有任何东西,但是我使用docker managed volume方式时候,就可以成功搞定,所以我为了解决这个问题就采用了下面的方式,当我使用docker managed volume方式挂载好之后,查看对应的volume目录docker inspect zabbix-web |grep Source zabbix docker inspect zabbix-web |grep Source "Source": "/var/lib/docker/volumes/2b327a18746700dcfb813b46aefeaddb9e04a526ca575d6a0a68d7097b55b72b/_data", "Source": "/var/lib/docker/volumes/57e343972c4eaf4875c5d830fe14d45bd97dbcbc69a105b183617f74916b07aa/_data", 接着把volume中的站点目录复制出来cp -rf /var/lib/docker/volumes/2b327a18746700dcfb813b46aefeaddb9e04a526ca575d6a0a68d7097b55b72b/_data/ /root/zabbix/zabbix-web之后删除容器docker stop zabbix-webdocker rm zabbix-web删除保留的volumedocker volume prune之后重新生成容器挂载docker run --name zabbix-web --link zabbix-mysql:mysql -p80:80 -p443:443 --link zabbix-server:zabbix-server -v /root/zabbix/zabbix-web/:/usr/share/zabbix -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_USER="root" -e MYSQL_PASSWORD="woyaoxuehuilinux" -e ZBX_SERVER_HOST="zabbix-server" -e PHP_TZ="Asia/Shanghai" -d zabbix/zabbix-web-nginx-mysql:alpine-trunk接着就搞定了问题我解释一下参数把--name就是给容器指定名字,--link就是把zabbix-web和数据库还有 zabbix-server连接起来,-p就是端口映射,-v就是挂载主机目录到容器/usr/share/zabbix目录中去,-e后面就是指定数据库主机账号还有密码,还有就是指定zabbix-server的主机还有php时区,-d就是把容器放到后台去跑之后我们访问zabbix的web界面,浏览器输入服务器ip就可以默认账号Admin密码zabbix 在服务端把zabbix-agent跑起来 最后就是跑agent了这个比较简单,运行下面命令docker run --name zabbix-agent --link zabbix-server:zabbix-server -e ZBX_HOSTNAME="Zabbix server" -e ZBX_SERVER_HOST="zabbix-server" -d zabbix/zabbix-agent:alpine-trunk之后重新运行一下zabbix-serverdocker run --name zabbix-server -p10051:10051 --link zabbix-mysql:mysql --link zabbix-agent:zabbix-agent -v /root/zabbix/zabbix-server:/var/lib/zabbix -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_USER="root" -e MYSQL_PASSWORD="woyaoxuehuilinux" -d zabbix/zabbix-server-mysql:alpine-trunk我先说明一下为什么要重新运行zabbix-server,因为我添加了--link zabbix-mysql:mysql,这个是为了避免zabbix-agent容器更换ip之后zabbix-server就找不到zabbix-agent的地址了,而我们配置这个agent的时候,在web界面点配置->主机->Zabbix server->agent代理程序的接口这里DNS名称输入zabbix-agent就好了,连接到这里当然要选择DNS地址端口是10050,上面参数命令就不解释了,太简单易懂了如果发现连接不上的情况,多看看容器的日志,还有就是zabbix的两种检查方式,一个是主动模式,一个是被动模式,如果是监控主机最好使用被动模式 欢迎关注Bboysoul的博客www.bboysoul.comHave Fun

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

1 框架基础搭建

一、新建一个Cordova项目 cordova create PSDPlatform cd PSDPlatform 二、 新建vonic-webpack模板 项目使用Vonic作为UI模板,开发者提供了一个Vonic的开发脚手架,即如下网址:https://github.com/wangdahoo/vonic-webpack-starter git clone https://github.com/wangdahoo/vonic-webpack-starter.git cd vonic-webpack-starter npm install -g yarn yarn 注意事项: 在安装vonic模板过程中,可能会出现node-sass安装Error,出错解决方案为: 1.npm install node-sass --registry=http://registry.npm.taobao.org 2.yarn 三、Cordova 环境配置 CD 项目根目录 cordova platform add android --新增android 平台

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

React Native环境搭建

React-Native 中文网 React-Native 官网 1. Python2 2. Node # 设置镜像源 npm config set registry https://registry.npm.taobao.org --global npm config set disturl https://npm.taobao.org/dist --global 3.Yarn、React Native的命令行工具(react-native-cli) # 安装yarn和React-native-cli npm install -g yarn react-native-cli # 设置镜像源 yarn config set registry https://registry.npm.taobao.org --global yarn config set disturl https://npm.taobao.org/dist --global 创建项目 # 初始化项目 react-native init abcd # 运行项目 react-native run-android 4. 设备上运行 $ adb devices List of devices attached emulator-5554 offline # Google模拟器 14ed2fcc device # 真实设备 5. 设备上访问开发服务器 1). (Android 5.0及以上)使用adb reverse命令 注意,这个选项只能在5.0以上版本(API 21+)的安卓设备上使用。 首先把你的设备通过USB数据线连接到电脑上,并开启USB调试(关于如何开启USB调试,参见上面的章节)。 1. 运行`adb reverse tcp:8081 tcp:8081` 2. 不需要更多配置,你就可以使用`Reload JS`和其它的开发选项了。 2). (Android 5.0以下)通过Wi-Fi连接你的本地开发服务器 1. 首先确保你的电脑和手机设备在**同一个Wi-Fi环境**下。 2. 在设备上运行你的React Native应用。和打开其它App一样操作。 3. 你应该会看到一个“红屏”错误提示。这是正常的,下面的步骤会解决这个报错。 4. 摇晃设备,或者运行`adb shell input keyevent 82`,可以打开**开发者菜单**。 5. 点击进入`Dev Settings`。 6. 点击`Debug server host for device`。 7. 输入你电脑的IP地址和端口号(譬如10.0.1.1:8081)。**在Mac上**,你可以在系统设置/网络里找查询你的IP地址。**在Windows上**,打开命令提示符并输入`ipconfig`来查询你的IP地址。**在Linux上**你可以在终端中输入`ifconfig`来查询你的IP地址。 8. 回到**开发者菜单**然后选择`Reload JS`。 6. 项目效果 效果.png

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

docker swarm 集群搭建

docker run -d -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -p 8600:53 -p 8600:53/udp -h dev28 --restart=always --name=consul progrium/consul -server -bootstrap -ui-dir=/ui -advertise 192.168.30.71 -client 0.0.0.0 docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h dev30 --name=consul progrium/consul -join 192.168.30.71 -advertise 192.168.30.72 -client 0.0.0.0 docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 192.168.30.72 consul://localhost:8500 docker run -tid -p 3375:3375 --restart=always --name shipyard-swarm-manager swarm:latest manage --host tcp://0.0.0.0:3375 consul://192.168.30.71:8500 yum install vim -y yum install net-tools -y [docker-main-repo] name=Docker main Repository baseurl=https://yum.dockerproject.org/repo/main/centos/7 enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg yum install docker-engine systemctl stop firewalld.service systemctl disable firewalld.service vi /lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -D -H tcp://0.0.0.0:2375 vim /etc/sysctl.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-arptables = 1 echo "net.bridge.bridge-nf-call-ip6tables = 1" >> /etc/sysctl.conf echo "net.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.conf echo "net.bridge.bridge-nf-call-arptables = 1" >> /etc/sysctl.conf docker swarm init --listen-addr 0.0.0.0:2377 --advertise-addr 192.168.30.79 docker swarm join \ > --token SWMTKN-1-46ql6rcp9acghztlcjabobue0bp5gwlzwrbylnlcrk2os8gg1k-acxppwfzcrm0cvksshotw2kvn \ > 192.168.30.79:2377 docker run -d -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -p 8600:53 -p 8600:53/udp -h dev28 --restart=always --name=consul progrium/consul -server -bootstrap -ui-dir=/ui -advertise 192.168.30.79 -client 0.0.0.0 docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h centos3 --name=consul progrium/consul -join 192.168.30.79 -advertise 192.168.30.84 -client 0.0.0.0 docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 192.168.30.79 consul://localhost:8500 10、启动swarm-manager(28) docker run -tid -p 3375:3375 --restart=always --name shipyard-swarm-manager swarm:latest manage --host tcp://0.0.0.0:3375 consul://192.168.30.79:8500 docker run -tid --restart=always --name shipyard-swarm-agent swarm:latest join --addr 192.168.30.79:2375 consul://192.168.30.79:8500 本文转自 zbill 51CTO博客,原文链接:http://blog.51cto.com/dek701/1965524,如需转载请自行联系原作者

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

Elasticsearch 5.3 集群搭建

es-node1 cluster.name: es-cluster node.name: es-node1 network.host: 10.10.45.200 http.port: 8201 transport.host: 10.10.45.200 transport.tcp.port: 8301 bootstrap.memory_lock: false bootstrap.system_call_filter: false discovery.zen.ping.unicast.hosts: ["10.10.45.200:8301", "10.10.45.200:8302", "10.10.45.200:8303"] discovery.zen.minimum_master_nodes: 2 es-node2 cluster.name: es-cluster node.name: es-node2 network.host: 10.10.45.200 http.port: 8202 transport.host: 10.10.45.200 transport.tcp.port: 8302 bootstrap.memory_lock: false bootstrap.system_call_filter: false discovery.zen.ping.unicast.hosts: ["10.10.45.200:8301", "10.10.45.200:8302", "10.10.45.200:8303"] discovery.zen.minimum_master_nodes: 2 es-node3 cluster.name: es-cluster node.name: es-node3 network.host: 10.10.45.200 http.port: 8203 transport.host: 10.10.45.200 transport.tcp.port: 8303 bootstrap.memory_lock: false bootstrap.system_call_filter: false discovery.zen.ping.unicast.hosts: ["10.10.45.200:8301", "10.10.45.200:8302", "10.10.45.200:8303"] discovery.zen.minimum_master_nodes: 2 集群状态查询:http://10.10.45.200:8201/_cluster/health?pretty 本文转自1321385590 51CTO博客,原文链接:http://blog.51cto.com/linux10000/1925992,如需转载请自行联系原作者

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

搭建Hadoop运行环境

Experiments: Example 1: use FsShell to list the files in the root of Hadoop Distributed File System: Example 2: use FsShell to transfer the file from Linux File System to Hadoop Distributed File System: Note:hadoop fs –mkdir inputDir ->(在Hadoop分布式文件系统中创建一个叫inputDir的目录) ls –al ~/tmp ->(查看Linux本地文件系统中~/tmp目录下是否有一个文件叫canton_codetemplates.xml) hadoop fs –put ~/tmp/*.xml inputDir –>(让Hadoop FsShell将上述文件从Linux本地文件系统转移到Hadoop分布式文件系统的inputDir目录) hadoop fs –ls inputDir ->(让Hadoop FsShell检查是否成功转移,即在inputDir目录中是否已经有目标文件) Admin Console: 1.Hadoop Distributed File System (NameNode/DataNode etc..) http://192.168.129.35:50070/dfshealth.jsp 2.Map/Reduce ,jobtracker etc 本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/840287,如需转载请自行联系原作者

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle

Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat

Apache Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse

Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。