nginxs

运维博客

SSDB管理工具phpssdbadmin

2016/04/11 22:25 于 安全 0

微信 微博 豆瓣 人人

phpssdbadmin是php语言写的SSDB管理工具,下面讲一下安装过程


  1. 克隆代码

git clone https://github.com/ssdb/phpssdbadmin.git



  1. 修改配置

    [root@ssdb-node1 html]# cat phpssdbadmin/app/config/config.php 
    <?php
    define('ENV', 'online');

    return array(
    'env' => ENV,
    'logger' => array(
    'level' => 'all', // none/off|(LEVEL)
    'dump' => 'file', // none|html|file, 可用'|'组合
    'files' => array( // ALL|(LEVEL)
    #'ALL' => dirname(__FILE__) . '/../../logs/' . date('Y-m') . '.log',
    ),
    ),
    'servers' => array(
    array(
    'host' => '192.168.1.11',
    'port' => '8888',
    //'password' => '22222222',
    ),
    array(
    'host' => '192.168.1.12',
    'port' => '8888',
    //'password' => '22222222',
    ),
    array(
    'host' => '192.168.1.13',
    'port' => '8888',
    //'password' => '22222222',
    ),

    ),
    'login' => array(
    'name' => 'nginxs',
    'password' => 'nginxs.net', // at least 6 characters
    ),
    );

  2. 配置nginx

    server
    {
    listen 8080;
    root /usr/local/nginx/html;
    index index.htm index.html index.php;
    access_log logs/phpssdbadmin.com-access.log access_log;
    location /phpssdbadmin {
    try_files $uri $uri/ /phpssdbadmin/index.php?$args;
    }
    location ~ \.php$
    {
    fastcgi_pass unix:/usr/local/php-fastcgi/php-fpm.sock;
    fastcgi_index index.php;
    include fastcgi.conf;
    }
    location / {
    root /usr/local/nginx/html;
    index index.php index.html index.htm;
    }

    }

取消订阅请在评论框回复你的邮箱,会自动取消订阅
微信扫描二维码了解更多 ->

[运维博客]
[运维博客](http://nginxs.blog.51cto.com/

phpssdbadminssdb管理工具ssdb

centos5 安装saltstack

2016/04/02 14:41 于 安全 0

微信 微博 豆瓣 人人

saltstack是一款批量管理操作服务状态的工具,他越来越流行源于他简单的配置和快速的操作。
因为saltstack出现的比较晚,centos的早起版本的网络仓库都没有,
因此写这篇文档方便新手操作,这里都是经过我亲自操作的。

快速安装脚本:https://github.com/bashhu/shell/blob/master/salt/startshell/salt-install.sh如果想体验安装中乐趣请继续下文

MASTER服务

 mkdir -p /etc/salt/state
vim / etc/salt/master
timeout: 60
state_top: top.sls
file_roots:
base:
- /etc/salt/states/base

minion节点:

vim /etc/salt/minion
master: 192.168.1.2 #master的IP或者域名

微信扫描二维码了解更多 ->

[运维博客]
[运维博客](http://nginxs.blog.51cto.com/

saltstackRHEL5安装saltstacksaltstack安装saltstack快速安装saltstack快速安装脚本

mongodb3.2日志配置 【翻译】

2016/03/31 23:52 于 安全 0

微信 微博 豆瓣 人人

文中剪辑
使用“systemLog.verbosity ”来给所有的组件配置默认的日至级别。
使用“systemLog.component..verbosity”来给指定的组件设置日志级别。

举例:
接下来设置
“systemLog.verbosity”为“1”
“systemLog.component.query.verbosity”为“2”
“systemLog.component.storage.verbosity”为“2”
“systemLog.component.storage.journal.verbosity ”为“1”

配置里面写法(就是YAML的写法,每级缩进两个空格)

systemLog:
verbosity: 1
component:
query:
verbosity: 2
storage:
verbosity: 2
journal:
verbosity: 1

所有的未组件指定配置使用“systemLog.verbosity”指定的1级别。

mongodb日志包括 一下部分:时间- 日志级别组件名执行操作日志内容
从mongodb3.0开始mongodb开始包含每行日志级别和日志内容相关的组件.

<timestamp> <severity> <component> [<context>] <message>
2014-11-03T18:28:32.450-0500 I NETWORK [initandlisten] waiting for connections on port 27017

  1. 时间

时间的格式默认是ISO-8601-local,修改时间格式请更改此参数“systemlog.timeStampFormat”.


  • 日志严重级别

日志级别描述

Level Description
F Fatal
E Error
W Warning
I Informational, for Verbosity Level of 0
D Debug, for All Verbosity Levels > 0

可以指定各个组件的日志级别来确定信息量和debug信息的输出



  • 组件

       当前日志中包含的很多组件,分为一下:

  • ACCESS

     修改参数:systemLog.component.accessControl.verbosity 
    关于访问控制和用户认证的详细情况,会使用此组件显示到日志中

  • COMMAND

    修改参数:systemLog.component.command.verbosity
    涉及到数据库的命令,如计数的消息。要指定命令组件的日志级别,使用系统Log.component.command.verbosity设置。

  • CONTROL

     修改参数:systemLog.component.control.verbosity 
    控制活动,如初始化相关的消息。

  • FTDC

    修改参数:systemLog.component.ftdc.verbosity
    关于数据诊断收集的相关部分,例如服务器统计信息和状态信息。


  • GEO

    修改参数:systemLog.component.geo.verbosity
    有关地理空间的信息,例如验证以GeoJSON类型的解析的消息。


  • INDEX

     修改参数: systemLog.component.index.verbosity
    索引相关的操作,创建索引。

  • NETWORK

    有关网络活动的消息,例如接受和断开连接。
    修改参数: systemLog.component.network.verbosity


  • QUERY

    查询相关信息,包括计划人员查询活动。
    修改参数:systemLog.component.query.verbosity


  • REPL

    有关副本的信息,例如初始化同步和心跳消息(心跳失败)。
    修改参数:systemLog.component.replication.verbosity


  • SHARDING

     有关分片活动的信息,例如启动mongos节点。
    修改参数:systemLog.component.sharding.verbosity

  • STORAGE

     有关存储活动的信息,例如参与frsync命令处理。
    修改参数: systemLog.component.storage.verbosity

MongoDB的JOURNAL组件和STORAGE组件与众不同,无论如何,STORAGE都是JOURNAL操作的结果。
因此, systemLog.component.storage.verbosity设置unset,MongoDB使用的STORAGE详细级别JOURNAL组件。


  • JOURNAL

日志活动相关的信息。
修改参数:systemLog.component.storage.journal.verbosity

MongoDB的JOURNAL组件和STORAGE组件与众不同,无论如何,STORAGE都是JOURNAL操作的结果。因此,如果systemLog.component.storage.journal.verbosity设置unset,MongoDB使用JOURNAL存储详情更好


  • WRITE

有关写操作信息,例如update命令。
修改参数:systemLog.component.write.verbosity 


  • -
    一个未命名组件信息,未命名组件的默认日至级别需要指定“systemLog.verbosity”设置,
    该systemLog.verbosity设置为有名和无名组件的默认设置。

  1. Verbosity Levels
    查看当前日志详情级别,使用“ db.getLogComponents()”方法可以查看当前日志级别详情。
    配置日志详情: the systemLog.verbosity and systemLog.component..verbosity settings, the logComponentVerbosity parameter; the db.setLogLevel()method.
    systemLog Verbosity Settings
    使用“systemLog.verbosity ”来给所有的组件配置默认的日至级别。
    使用“systemLog.component..verbosity”来给指定的组件设置日志级别。

举例:
接下来设置
“systemLog.verbosity”为“1”
“systemLog.component.query.verbosity”为“2”
“systemLog.component.storage.verbosity”为“2”
“systemLog.component.storage.journal.verbosity ”为“1”

配置里面写法

systemLog:
verbosity: 1
component:
query:
verbosity: 2
storage:
verbosity: 2
journal:
verbosity: 1

所有的未组件指定配置使用“systemLog.verbosity”指定的1级别。


  • logComponentVerbosity 参数

“logComponentVerbosity”参数通过一个文档来修改详细的参数。

例如:
 default verbosity level to 1, the query to 2, the storage to2, and the storage.journal to 1.

use admin
db.runCommand( {
setParameter: 1,
logComponentVerbosity: {
verbosity: 1,
query: {
verbosity: 2
},
storage: {
verbosity: 2,
journal: {
verbosity: 1
}
}
}
} )

  • db.setLogLevel()

使用“db.setLogLevel()”指定单独组件的日至级别,你可以指定详细情况0到5,或者指定“-1”
继承父配置。例如使用“systemLog.component.query.verbosity”继承上级配置。

db.setLogLevel(-1, "query")

取消订阅请在评论框回复你的邮箱,会自动取消订阅
微信扫描二维码了解更多 ->

[运维博客]
[运维博客](http://nginxs.blog.51cto.com/

mongodbmongodb3.2日志配置mongodb日志配置

腾讯云优惠大全

2016/03/14 21:06 于 公有云 0

微信 微博 豆瓣 人人

腾讯云主机优惠 快速进入时空门

腾讯云数据库优惠

腾讯云数据库优惠 快速进入时空门

腾讯云CDN优惠 快速进入时空门

腾讯云CDN本人亲测,成功率99.9%以上,技术服务团队响应也很及时,我们经常周末很晚有问题,技术GG依然在线处理

扶持领域认证,半年免费任选快速进入时空门云服务器

数据库优惠

取消订阅请在评论框回复你的邮箱,会自动取消订阅
微信扫描二维码了解更多 ->

[运维博客]
[运维博客](http://nginxs.blog.51cto.com/

腾讯云优惠大全腾讯云优惠腾讯云优惠大全

快速搭建rsync服务

2016/03/11 23:56 于 系统 1

微信 微博 豆瓣 人人

rsync 是一款用于远程同步或备份的工具。它包括server端和client端,client把文件通过指定验证方式连接到服务端。
rsync特点:可以压缩传输,限速传输,同步中定义文件的权限不变,rsync传输保留软连接,同步完成的文件都进行了完整校验不会重复传输同一个文件到同目录(文件名相同情况下)。



  1. 准备两个节点

    IP hostname
    192.168.81.128 server
    192.168.81.129 clent

  2. server配置

安装软件
[root@server ~]# yum -y install rsync
创建配置文件目录
[root@server ~]# mkdir /etc/rsyncd/
配置文件

[root@server ~]# cat /etc/rsyncd/rsyncd.conf 
secrets file = /etc/rsyncd/rsyncd.secrets
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
read only = no
list = yes
uid = root
gid = root
port = 873
use chroot = no
[data]
comment = nginxs rsync server
path = /opt/shell/
read only = no
auth users = datauser

密码文件

[root@server ~]# cat /etc/rsyncd/rsyncd.secrets 
datauser:nginxs.net
[root@server ~]# chmod 0600 /etc/rsyncd/rsyncd.secrets
[root@server ~]# /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf


  1. . clent配置

    [root@client ~]# yum -y install rsync
    [root@client ~]# chmod 0600 /etc/rsyncd/pass.conf
    [root@client ~]# cat /etc/rsyncd/pass.conf
    ops.com
    [root@client ~]# rsync -avzp --password-file=/root/pass.conf /opt/shell/ datauser@192.168.81.128::data
    sending incremental file list
    ./
    README.txt

    sent 110 bytes received 36 bytes 97.33 bytes/sec
    total size is 26 speedup is 0.18

    --password-file=/root/pass.conf 指定密码文件
    /opt/shell/ 同步目录
    ops@192.168.81.128::ops 第一个ops用户,第两个ops为project,中间IP为服务IP

下面几个实用参数

--bwlimit=100              # rsync限速同步 限制I/O带宽,KBytes per second
-a, --archive #归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-z #压缩
-v #详细提示
-r, --recursive #对子目录以递归模式处理
-u #只进行更新,防止本地新文件被重写,注意两者机器的时钟的同时
-H, --hard-links #保留硬链结
-p, --perms #保持文件权限
-o, --owner #保持文件属主信息
-g, --group #保持文件属组信息
--password-file=FILE #从FILE中得到密码
--exclude=PATTERN #指定排除不需要传输的文件模式

微信扫描二维码了解更多 ->

[运维博客]
[运维博客](http://nginxs.blog.51cto.com/

rsyncrsync快速搭建文件同步服务rsync文件同步rsync限速同步

salt教程

2016/03/10 00:01 于 系统 0

微信 微博 豆瓣 人人

介绍
这个教程是我中秋休息的时候所做,为大家学习了解saltstack。
SaltStack名字是由它的故乡美国盐城。
SaltStack是为我们批量管理千万台机器的基础工具,拓展起来也十分方便。SaltStack可以进行动态的编辑,配置管理,远程执行命令等等。
Saltstack包括master和minion,master是控制端,minion是被管理节点。
这里先不废话,简单介绍安装(下面说到的salt就是咱们所说的SaltStack).

这里有两个节点
salt-master:10.0.0.11
salt-minion:10.0.0.21

这里先给两个节点安装个epel源,方便salt网络安装。
[root@salt-master ~] rpm -ivh http://mirrors.ustc.edu.cn/centos/6/extras/x86_64/Packages/epel-release-6-8.noarch.rpm

10.0.0.11(master)节点操作
安装salt-master,暂时不需要配置。
[root@salt-master ~]# hostname
salt-master
[root@salt-master ~]# yum -y install salt salt-master salt-minion
安装配置salt-minion
[root@salt-master ~]# egrep -v '^#|^$' /etc/salt/minion
master: 10.0.0.11
[root@salt-master ~]# /etc/init.d/salt-minion start
Starting salt-minion daemon: [确定]

10.0.0.21节点操作
安装配置salt-minion
[root@salt-minion1 ~]# hostname
salt-minion1
[root@salt-master ~]# yum -y install salt salt-minion
[root@salt-master ~]# egrep -v '^#|^$' /etc/salt/minion
master: 10.0.0.11
[root@salt-minion1 ~]# /etc/init.d/salt-minion start
Starting salt-minion daemon: [确定]

10.0.0.11(master)节点操作
查看salt-master接收到的密钥,分别是“10.0.0.11”和“10.0.021”,master通过这些密钥
salt-key -L 查看当前密钥
-A 接受所有来自客户端密钥
--accept=example.com 接受指定的密钥

[root@salt-master ~]# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
salt-master
salt-minion1
Rejected Keys:

[root@salt-master ~]# salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
salt-master
salt-minion1
Proceed? [n/Y] y
Key for minion salt-master accepted.
Key for minion salt-minion1 accepted.

验证salt-master是否可以控制各个minion节点(查看本机的IP)
[root@salt-master ~]# salt '*' network.ip_addrs
salt-master:


  • 10.0.0.11
  • 172.17.42.1
    salt-minion1:
  • 10.0.0.21

添加salt-master配置
刚刚只是把salt-minion加入到了salt-master管理,就像老板招聘了一群员工现在老板可以向员工发号命令了,如果老板有一部分多步骤且重复的指令,老板一般就会用到邮件和文档来让员工操作了,
salt-master是通过写sls配置管理minion上重复指令的,服务状态等等。这里需要先配置一下:

创建配置文件目录
[root@salt-master srv]# mkdir -p /srv/salt/base
在master配置里面指定配置文件目录
[root@salt-master ~]# vim /etc/salt/master
file_roots:
base:


  • /srv/salt/base
    [root@salt-master ~]# /etc/init.d/salt-master restart
    Stopping salt-master daemon: [确定]
    Starting salt-master daemon: [确定]

salt-master默认会读取上面指定配置目录下的top.sls。(这个是在master配置文件下的state_top: top.sls决定的)
现在写一个

[root@salt-master base]# tree
.
├── system
│   ├── files
│   │   └── hosts
│   └── hosts.sls
└── top.sls

2 directories, 3 files
[root@salt-master base]# cat top.sls

base: #这里指定的环境是base,所以这个top.sls在/srv/salt/base目录下
"": # “”是所有主机的意思,指定单个主机直接写“salt-minion1”


  • system.hosts # 这里指调用了那些sls配置文件,“点”在这里是目录分级

    也就是system没有可以下的hosts.sls配置文件

[root@salt-master base]# cat system/hosts.sls
/etc/hosts: #这个是配置ID和文件存放位置,是不可重复的
file.managed: #这里调用了“file.managed”salt的文件管理模块


  • source: salt://system/files/hosts #source是指定文件源,“salt://”是指salt项目下文件
  • mode: 644 #文件权限644
  • user: root #文件用户属主
  • group: root #文件的用户组

下面执行一下上面的配置文件状态
[root@salt-master system]# salt 'salt-minion1' state.highstate #salt “执行节点” 执行模块

下面是执行结果
salt-minion1: #执行节点

      ID: /etc/hosts                                             #配置ID
Function: file.managed #模块
Result: True #执行结果True为成功
Comment: File /etc/hosts updated #文件执行操作【更新】
Started: 14:15:55.120499 #执行命令开始时间
Duration: 24.284 ms #执行的时长
Changes: #是否产生更改
----------
diff:
---
阅读更多...

saltstacksaltstack入门

hadoop单机版

2016/03/08 22:48 于 数据分析 0

微信 微博 豆瓣 人人


  1. 下载地址:http://apache.fayea.com/hadoop/common/

  2. 解压文件到"/usr/local/hadoop"

3.修改配置文件etc/hadoop/core-site.xml:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

4.etc/hadoop/hdfs-site.xml:

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

5.添加无密码登录

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa  #生成公钥
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys #添加公钥

6.本地运行MapReduce job

   ./bin/hdfs namenode -format            #格式化文件系统
./sbin/start-dfs.sh #启动服务
启动后查看一下 http://localhost:50070/是否全部启动

  ./bin/hdfs dfs -mkdir /user             #创建“/user”目录
./bin/hdfs dfs -mkdir /user/testdir #创建“/user/testdir”目录
./bin/hdfs dfs -put etc/hadoop /user/testdir/ #把当前的“etc”目录下的“hadoop”目录put到hdfs的“/user/testdir/”目录下
./bin/hdfs dfs -get /user/testdir/hadoop /tmp/test/ #把hadoop内的“/user/testdir/hadoop"目录拉到 "/tmp/test/"
./bin/hdfs dfs -ls /user/baishaohua/hadoop/mapred-site.xml.template #查看“hadoop”的目录下文件

-rw-r--r-- 1 root supergroup 758 2016-03-08 22:27 /user/baishaohua/hadoop/mapred-site.xml.template
./bin/hdfs dfs -cat /user/baishaohua/hadoop/mapred-site.xml.template #查看hadoop中文件

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->

<configuration>

</configuration>

微信扫描二维码了解更多 ->

[运维博客]
[运维博客](http://nginxs.blog.51cto.com/

hadoophadoop单机实例hadoop单机

mongodb 监控命令mongostat

2016/03/07 15:11 于 数据分析 0

微信 微博 豆瓣 人人

mongostat实用工具提供了mongoDB一个实例快速概述和当前运行的状态。mongostat功能类似于UNIX / Linux文件系统实用vmstat,mongostat只不过是提供 mongodb 的数据。

概览包含的数据:
服务器状态
副本状态
数据库状态
集合状态

[root@DB~]#  mongostat --rowcount 2 1  --host 192.168.0.8:27027
[root@DB~]# mongostat -n 2 1 --host 192.168.199.8:27017
insert query update delete getmore command % dirty % used flushes vsize res qr|qw ar|aw netIn netOut conn set repl time
*0 *0 *0 *0 0 3|0 0.0 16.9 0 3.8G 3.0G 0|0 0|0 526b 19k 5 db PRI 2016-03-07T15:09:33+08:00
*0 *0 *0 *0 1 2|0 0.0 16.9 0 3.8G 3.0G 0|0 0|0 433b 19k 5 db PRI 2016-03-07T15:09:34+08:00

--rowcount 20 1 展示20条每次间隔1秒
--n 20 1 展示20条每次间隔1秒

--help 查看帮助信息
--version 查看mongodb版本号
--host 要连接的主机同时也可以指定端口 --host 192.168.0.2:27017 --host 192.168.0.2:27017,192.168.0.3:27017
--port 如果--host不指定端口在这单独指定 --port 27017
--ipv6 指定使用IPv6的地址
--sslCAFile 指定对应的CA密钥位置
--username 用户
--password 密码

insert 写入
query 查询
update 更新
delete 删除
getmore 查看更多(it)
flushes WiredTiger存储引擎中,flushes是指WiredTiger循环创建检查点的时间间隔。
MMAPv1存储引擎中,则代表每秒fsync操作的数量。
dirty WiredTiger存储引擎中dirty 数据占缓存百分比。
used WiredTiger存储引擎中引擎使用缓存占百分比。
mapped MMAPv1
vsize 虚拟内存使用大小
res 使用真实内存大小
qr 客户端等待读的长度
qw 客户端等待些的队列长度
ar 活跃客户执行写操作的数量。
netin mongodb进入的流量包含mongostat本身(单位:bytes)
netout mongodb出去的流量包含mongostat本身
conn 打开的总连接数
set 这个是应用的副本集
repl 当前实例的角色
M或 PRI:"master",
SEC:"Secondary",
REC:"recovering",
UNK:"unknow",
SLV:"slave",
RTR:"mongos process"("router")
ARB:"arbiter"

微信扫描二维码了解更多 ->

[运维博客]
[运维博客](http://nginxs.blog.51cto.com/

mongodb监控命令mongostatmongodb监控命令mongostat命令

SSDB介绍

2016/03/05 23:23 于 数据分析 0

微信 微博 豆瓣 人人

文档



  • SSDB 是一个 C/C++ 语言开发的高性能 NoSQL 数据库, 支持 KV, list, map(hash), zset(sorted set) 等数据结构, 用来替代或者与 Redis 配合存储十亿级别列表的数据.


  • SSDB 是稳定的, 生产环境使用的, 已经在许多互联网公司得到广泛使用, 如奇虎 360, TOPGAME.

  • 它的使用方法基本和redis几乎一致,只是相对少一些list的功能,而ssdb使用内存相对更少。

【官方文档】:http://ssdb.io/docs/zh_cn/index.html

【源码】:https://github.com/ideawu/ssdb

微信扫描二维码了解更多 ->

[运维博客]
[运维博客](http://nginxs.blog.51cto.com/

SSDBssdb介绍

管理