博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Exceptionless 生产部署笔记
阅读量:5144 次
发布时间:2019-06-13

本文共 4947 字,大约阅读时间需要 16 分钟。

参考

1. 安装配置 redis 4.0 

cd /opt

wget http://download.redis.io/releases/redis-4.0.10.tar.gz

tar -zxvf redis-4.0.10.tar.gz

cd redis-4.0.10

make && make install

将默认的redis.conf (默认配置文件不要动) 拷贝到自己定义好的一个路径下,比如 myconf

cd /opt/redis-4.0.10

mkdir myconf

cp redis.conf myconf

修改 myconf文件夹下 redis.conf文件将里面的daemonize no 改成 yes,让服务在后台启动

把 bind 127.0.0.1 注释掉  proteced-mode 改为 false

防火墙放开 redis 端口默认 6379  安全问题 可以让运维控制 6379端口的白名单

sudo firewall-cmd --zone=public --add-port=6379/tcp --permanentsudo firewall-cmd –reload
 
cd /opt/redis-4.0.10
./src/redis-server myconf/redis.conf
本地 telnet redis服务器 6379端口 看是否成功
 
 
 
2.安装 Elasticsearch 5.6  参考链接
安装java 1.8.0
yum install java-1.8.0-openjdk -y
安装 Elasticsearch 5.6
cd /opt/
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.10.tar.gz
tar -zxvf elasticsearch-5.6.10.tar.gz
Elasticsearch 要求不能使用超级用户root运行,所以我们建立一个es账号
groupadd es          #增加es组
useradd es -g es -p pwd          #增加es用户并附加到es组
chown -R es:es elasticsearch-5.6.10         #给目录权限
su es          #使用es用户
cd /opt/elasticsearch-5.6.10/
./bin/elasticsearch -d          #后台运行es
elasticsearch 外网可访问
cd /opt/elasticsearch-5.6.10/
vim ./config/elasticsearch.yml
找到network.host: 一行,去除#号,修改为:
network.host: 0.0.0.0
 
 
默认情况下 elasticsearch需要申请2G内存,我服务器共2G, 解决办法 如下, 设置es的堆大小
ES_JAVA_OPTS="-Xms256m -Xmx256m" ./bin/elasticsearch –d
外网访问下
http://172.30.6.1:9200/?pretty
其他错误 参考下:
使用supervisor 来管理 redis 和elasticsearch 安装 supervisor
 
yum install python-setuptools -yeasy_install supervisormkdir /etc/supervisorecho_supervisord_conf > /etc/supervisor/supervisord.conf
 

 

  

建立文件夹  mkdir /etc/supervisor/conf.d

新增 redis_supervisor.conf 文件     记得把 上文 redis 配置中的 daemonize 改回 yes
[program:redis_supervisor]command=redis-server myconf/redis.conf ; 运行程序的命令directory=/opt/redis-4.0.10/ ; 命令执行的目录autorestart=true ; 程序意外退出是否自动重启stderr_logfile=/var/log/redis_supervisor.err.log ; 错误日志文件stdout_logfile=/var/log/redis_supervisor.out.log ; 输出日志文件user=root ; 进程执行的用户身份stopsignal=INT ; INT(类似于Ctrl+C)(kill -INT pid),退出后会将写文件或日志(推荐)

 新增 elasticsearch_supervisor.conf 文件

[program:elasticsearch_supervisor]command=/opt/elasticsearch-5.6.10/bin/elasticsearch ; 运行程序的命令directory=/opt/elasticsearch-5.6.10/bin/ ; 命令执行的目录autorestart=true ; 程序意外退出是否自动重启stderr_logfile=/var/log/elasticsearch_supervisor.err.log ; 错误日志文件stdout_logfile=/var/log/elasticsearch_supervisor.out.log ; 输出日志文件user=es ; 进程执行的用户身份stopsignal=INT ; INT(类似于Ctrl+C)(kill -INT pid),退出后会将写文件或日志(推荐)

配置 supervisor开启启动   新建一个“/usr/lib/systemd/system/supervisord.service”文件

# dservice for systemd (CentOS 7.0+)# by ET-CS (https://github.com/ET-CS)[Unit]Description=Supervisor daemon[Service]Type=forkingExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.confExecStop=/usr/bin/supervisorctl shutdownExecReload=/usr/bin/supervisorctl reloadKillMode=processRestart=on-failureRestartSec=42s[Install]WantedBy=multi-user.target

 

 使用supervisor启动时,查看日志仍然报下面的错误

max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]

解决办法:

切换到root用户修改vim  /etc/supervisor/supervisord.conf   改下supervisor的操作文件句柄和文件数量

 

 

 

3. windows下 安装 Exceptionless.4.1

  • 下载最新的 ,下载后解压
  • 在IIS中新建一个网站,路径选择Exceptionless解压目录中的wwwroot目录,端口这里可以自定义,比如用8004,应用程序池选4.0集成
  • 修改web.config中的ElasticSearchConnectionString为es的站点http://:ElasticSearchIP:9200,修改<add key="BaseURL" value="http://IIS站点绑定的IP:8004/#!" />,注意后面的"#"
  • 修改app.config.*.js中的.constant('BASE_URL', 'http://IIS站点绑定的IP:8004')    注意后面没有#
  • 打开http://IIS站点绑定的IP:8004 就能看到登录页面了,然后创建账户-->创建项目,比如创建一个控制台项目,这里就会提示怎么使用Exceptionless
  • ExceptionlessClient.Default.Startup("oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI"),这里的oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI就是api-key

开启前 要记得 把 redis, ElasticSearch 都启动

 

4.  net core 项目中 使用  尝试 启动项目 throw个异常 看看   , 配置到 配置文件中

 

 

5. 集成到 NLog

  NuGet 安裝 NLog.Extensions.Logging 与 Exceptionless.NLog

装完之后,我们就需要为Nlog添加配置文件了。默认情况下Nlog会在根目录寻找一个叫做nlog.config的文件作为配置文件。那么我们就手动改添加一个nlog.config:

参考下 安装完Exceptionless.NLog 给的 示例文档

 

最终 Nlog.config文件 内容如下   记得 右键  Nlog.config 属性 改为始终复制

<?xml version="1.0" encoding="utf-8" ?>

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<extensions>
    <add assembly="Exceptionless.NLog"/>
</extensions>

  <targets async="true">

    <target xsi:type="Exceptionless" name="exceptionless" >
      <field name="host" layout="${machinename}" />
      <field name="identity" layout="${identity}" />
      <field name="windows-identity" layout="${windows-identity:userName=True:domain=False}" />
      <field name="process" layout="${processname}" />
</target>
<target xsi:type="File" name="logfile" fileName="${basedir}/logs/${shortdate}.log" layout="${longdate} ${uppercase:${level}} ${message}" />
</targets>

  <rules>

    <logger name="*" minlevel="Info" writeTo="exceptionless" />
<logger name="*" minlevel="Info" writeTo="logfile" />
</rules>
</nlog>

然后需要把Nlog集成到asp.net core

 

需要使用的地方

这样 日志 同时记录到 本地 file  又 记录到 elasticsearch 中了

转载于:https://www.cnblogs.com/xtxtx/p/9271829.html

你可能感兴趣的文章
在windows下用vagrant建立lnmp开发环境
查看>>
线段树(基础)
查看>>
torchvision的安装及使用
查看>>
使用UML进行项目开发
查看>>
Windows phone 8.1布局控件
查看>>
easyui中表格列之间的换位05
查看>>
SSL-ZYC 采购特价商品【SPFA】
查看>>
软工作业 2:时事点评-红芯浏览器事件
查看>>
网页里动态加载js
查看>>
https://tieba.baidu.com/p/2248070024
查看>>
eclipse 怎么查看相关引用
查看>>
pprint模块介绍
查看>>
命令行查看端口
查看>>
Vim复制一整行和复制多行
查看>>
时光穿梭机
查看>>
NVIDIA GRID 和 NICE DCV 技术用于实现 Linux 和 Windows® 图形加速虚拟桌面
查看>>
codevs——T2488 绿豆蛙的归宿
查看>>
MSIL实用指南-闭包的生成和调用
查看>>
使用Roslyn脚本化C#代码,C#动态脚本实现方案
查看>>
JDK dump
查看>>